Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Feb 2009 07:35:51 GMT
From:      Andrew Turner <andrew@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 157831 for review
Message-ID:  <200902170735.n1H7ZpoI000728@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=157831

Change 157831 by andrew@andrew_bender on 2009/02/17 07:35:46

	Only set SER_INT_TXIDLE when we are busy.
	This if statement could be removed as we are never busy as s3c2410_putc will block when the FIFO is not empty which means we only ever have 1 character in it.

Affected files ...

.. //depot/projects/arm/src/sys/arm/s3c2xx0/uart_dev_s3c2410.c#8 edit

Differences ...

==== //depot/projects/arm/src/sys/arm/s3c2xx0/uart_dev_s3c2410.c#8 (text+ko) ====

@@ -254,7 +254,6 @@
 		s3c2410_putc(&sc->sc_bas, sc->sc_txbuf[i]);
 		uart_barrier(&sc->sc_bas);
 	}
-	sc->sc_txbusy = 1;
 	uart_unlock(sc->sc_hwmtx);
 
 	return (0);
@@ -298,7 +297,7 @@
 	utrstat = uart_getreg(&sc->sc_bas, SSCOM_UTRSTAT);
 	uart_unlock(sc->sc_hwmtx);
 
-	if ((utrstat & UTRSTAT_TXEMPTY) == UTRSTAT_TXEMPTY) {
+	if ((utrstat & UTRSTAT_TXEMPTY) == UTRSTAT_TXEMPTY && sc->sc_txbusy != 0) {
 		ipend |= SER_INT_TXIDLE;
 	}
 	if ((utrstat & UTRSTAT_RXREADY) == UTRSTAT_RXREADY) {
@@ -325,6 +324,7 @@
 {
 	return (EINVAL);
 }
+
 struct uart_class uart_s3c2410_class = {
 	"s3c2410 class",
 	s3c2410_methods,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902170735.n1H7ZpoI000728>