[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-mips-cvs
Subject:    MIPS: ath79: make bootconsole wait for both THRE and TEMT
From:       linux-mips () linux-mips ! org
Date:       2016-03-28 17:44:32
Message-ID: S27025530AbcC1RofMMMsS/20160328174435Z+375 () eddie ! linux-mips ! org
[Download RAW message or body]

Author: Matthias Schiffer <mschiffer@universe-factory.net> Thu Mar 24 16:02:52 2016 +0100
Comitter: Ralf Baechle <ralf@linux-mips.org> Thu Mar 24 16:56:36 2016 +0100
Commit: e33dec030972cf3c4c7fc38bdf0f84d90b259f1d
Gitweb: https://git.linux-mips.org/g/ralf/linux/e33dec030972
Branch: linux-3.11-stable

This makes the ath79 bootconsole behave the same way as the generic 8250
bootconsole.

Also waiting for TEMT (transmit buffer is empty) instead of just THRE
(transmit buffer is not full) ensures that all characters have been
transmitted before the real serial driver starts reconfiguring the serial
controller (which would sometimes result in garbage being transmitted.)
This change does not cause a visible performance loss.

In addition, this seems to fix a hang observed in certain configurations on
many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.

A more complete follow-up patch will disable 8250 autoconfig for ath79
altogether (the serial controller is detected as a 16550A, which is not
fully compatible with the ath79 serial, and the autoconfig may lead to
undefined behavior on ath79.)

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Cc: <stable@vger.kernel.org>
Cc: linux-mips@linux-mips.org
Cc: linux-serial@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12907/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
(cherry picked from commit fe5474023d2fa1b72b1c57aceee2bcf93e7de639)

---

 arch/mips/ath79/early_printk.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic