From nobody Tue May 20 18:28:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b233h35rxz5wmBS; Tue, 20 May 2025 18:29:04 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b233h2S8tz46Rj; Tue, 20 May 2025 18:29:04 +0000 (UTC) (envelope-from mmel@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747765744; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KDnatz8kIA0M+FRimjh1ZIHjMl4k95+3yqtrX1mXNxQ=; b=qTSYiiUBk2xZPDHxKpdpuEJu52q3sELzcQBDpJa2UeA7IEp1iu229+BO5APHxAwqnoGgBR +NfISlatcj2dD1bFb+bB4/Kn+ouFvkR+Z3VbNH3uHwyEmzYIMa1rfd789pa4n/BFqzQc2/ +b+UujkxDaECCkuRK4OkocT9EdoAt0a9qCyCpAqQHng8h+sE1jhKdvZmQQXoqzt1d4H60X pWCbz/89frphEwukbZekQICvHiLrcDudfrPkqAackx3B+A+hYjfSF9pfVFYAwT203eSAme Ezsm5sXjRUR9zMSlAI4vWYzAswQFuoICtoT9Ac3hgjoq9m4pqcC4EF8L66qIGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747765744; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KDnatz8kIA0M+FRimjh1ZIHjMl4k95+3yqtrX1mXNxQ=; b=tYS+94/e6JKCwOWdTXAJ/Hd/BhqPlw4Ltit4vMtaK3ZAPbhDBHKyE93/ll2Dt7QCEhY2aJ g9C+y71tRaNba9g5vvwKI1YCaLZ/oO1o4oT7SV20EE8kCVOMi/YUCcjcRi91gYKJoZW8be 7EUDR4DgtoUtsfWX3chxkO5rjhqT9kbTJmwfwkukbd8BT1ZZS7NFjrQnH0hELYPNOE9R8j ccdhO+50RravfnHrp8fc34LjXD3LsCv8/NN4CIC9H19YWywSjE0HIUI2gjoCybxKJLIvAb P/qOOa6r/3fhcyTxMi8Z2fiqoTxkmctdJUsuAVpJSY0bfzZX7TEelqQEiLmCog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747765744; a=rsa-sha256; cv=none; b=wX7v/jg1xlqD7S5D7E2HkeKDFnsoDhzKFUvzFglIFYYwGtIGCMje3aXFCbsb7rDDBKudFO ALZfZXgkofXICfWWwqYBmCDsDjPbsJyzPNY1kVCGDp4CUZjDXISJ+2e7i+qQ0BvPYgD+Cl mxkuij28dvNViCOAQm78+Y1BXqvFCfxJavACuxIcSKyBBOS67wCBLDnQGTRBWIHnWdMgbD JZGBkE5ncx3jFUH1bWflhGcgw9n/zl0hsNB75xnJVsPm8Wyl3nsqzb3NlD18T5DBvaZiXt BtK0E+SzIcra13ZfXbQK5tufi9luf+Lhw0XPIdj3hIiXl2mPmgCl/ztcp4g7/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2001:67c:14a0:5fe0:2485:80fb:e080:1b9a] (unknown [IPv6:2001:67c:14a0:5fe0:2485:80fb:e080:1b9a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mmel/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b233g4PX1z18Q2; Tue, 20 May 2025 18:29:03 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Message-ID: <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> Date: Tue, 20 May 2025 20:28:57 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Reply-To: mmel@FreeBSD.org Subject: Re: git: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush To: Andriy Gapon , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> Content-Language: cs, en-US From: Michal Meloun In-Reply-To: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 20.05.2025 16:57, Andriy Gapon wrote: > The branch main has been updated by avg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=0d2fd5b99c95329085d0700a4dd38507a054a50d > > commit 0d2fd5b99c95329085d0700a4dd38507a054a50d > Author: Andriy Gapon > AuthorDate: 2024-11-10 11:15:30 +0000 > Commit: Andriy Gapon > CommitDate: 2025-05-20 14:55:18 +0000 > > ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush > > LSR_TEMT bit is set if both transmit hold and shift registers are > empty, but the flush command flushes only the hold register. I don't think that's true. Imho, ns8250_flush() is used also before changing baud rate, so we need to ensure that all bits are flushed, including the transmit register. Michal > > While here, update the diagnostic message to report which registers > could not be flushed. > > MFC after: 2 weeks > --- > sys/dev/uart/uart_dev_ns8250.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c > index 1df39b499539..0f19ede6d9df 100644 > --- a/sys/dev/uart/uart_dev_ns8250.c > +++ b/sys/dev/uart/uart_dev_ns8250.c > @@ -265,12 +265,12 @@ ns8250_flush(struct uart_bas *bas, int what) > * https://github.com/rust-vmm/vm-superio/issues/83 > */ > lsr = uart_getreg(bas, REG_LSR); > - if (((lsr & LSR_TEMT) == 0) && (what & UART_FLUSH_TRANSMITTER)) > + if (((lsr & LSR_THRE) == 0) && (what & UART_FLUSH_TRANSMITTER)) > drain |= UART_DRAIN_TRANSMITTER; > if ((lsr & LSR_RXRDY) && (what & UART_FLUSH_RECEIVER)) > drain |= UART_DRAIN_RECEIVER; > if (drain != 0) { > - printf("uart: ns8250: UART FCR is broken\n"); > + printf("uart: ns8250: UART FCR is broken (%#x)\n", drain); > ns8250_drain(bas, drain); > } > }