From owner-svn-src-stable-12@freebsd.org Sat Oct 31 15:58:06 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B145144F6F9; Sat, 31 Oct 2020 15:58:06 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CNkNZ47h0z4c0H; Sat, 31 Oct 2020 15:58:06 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7139F9FFB; Sat, 31 Oct 2020 15:58:06 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 09VFw6j4017192; Sat, 31 Oct 2020 15:58:06 GMT (envelope-from mmel@FreeBSD.org) Received: (from mmel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 09VFw6Eq017191; Sat, 31 Oct 2020 15:58:06 GMT (envelope-from mmel@FreeBSD.org) Message-Id: <202010311558.09VFw6Eq017191@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmel set sender to mmel@FreeBSD.org using -f From: Michal Meloun Date: Sat, 31 Oct 2020 15:58:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r367215 - stable/12/sys/arm/nvidia X-SVN-Group: stable-12 X-SVN-Commit-Author: mmel X-SVN-Commit-Paths: stable/12/sys/arm/nvidia X-SVN-Commit-Revision: 367215 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Oct 2020 15:58:06 -0000 Author: mmel Date: Sat Oct 31 15:58:05 2020 New Revision: 367215 URL: https://svnweb.freebsd.org/changeset/base/367215 Log: MFC r362053: Fix grabbing of tegra uart. An attempt to write to FCR register may corrupt transmit FIFO, so we should wait for the FIFO to be empty before we can modify it. Modified: stable/12/sys/arm/nvidia/tegra_uart.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/arm/nvidia/tegra_uart.c ============================================================================== --- stable/12/sys/arm/nvidia/tegra_uart.c Sat Oct 31 15:40:52 2020 (r367214) +++ stable/12/sys/arm/nvidia/tegra_uart.c Sat Oct 31 15:58:05 2020 (r367215) @@ -102,6 +102,10 @@ tegra_uart_grab(struct uart_softc *sc) uart_lock(sc->sc_hwmtx); ier = uart_getreg(bas, REG_IER); uart_setreg(bas, REG_IER, ier & ns8250->ier_mask); + + while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0) + ; + uart_setreg(bas, REG_FCR, 0); uart_barrier(bas); uart_unlock(sc->sc_hwmtx);