* [Qemu-devel] [5239] 16550A UART: RHR irq enable bit also masks the Rx timeout irq.
@ 2008-09-17 0:21 Andrzej Zaborowski
0 siblings, 0 replies; only message in thread
From: Andrzej Zaborowski @ 2008-09-17 0:21 UTC (permalink / raw)
To: qemu-devel
Revision: 5239
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5239
Author: balrog
Date: 2008-09-17 00:21:05 +0000 (Wed, 17 Sep 2008)
Log Message:
-----------
16550A UART: RHR irq enable bit also masks the Rx timeout irq.
The "Rx timeout" (aka. Character Timeout Indication) has no separate mask
bit in the IER register and according to the specs reading RHR is the only
way to reset the irq. However on the hardware (tested on OMAP2 UART which
is an extended 16550A) the RHR_IT bit in IER disables the irc, too. Linux
bluetooth serial dongle driver for N800 depends on this behavior.
Modified Paths:
--------------
trunk/hw/serial.c
Modified: trunk/hw/serial.c
===================================================================
--- trunk/hw/serial.c 2008-09-16 22:44:25 UTC (rev 5238)
+++ trunk/hw/serial.c 2008-09-17 00:21:05 UTC (rev 5239)
@@ -191,7 +191,7 @@
if ((s->ier & UART_IER_RLSI) && (s->lsr & UART_LSR_INT_ANY)) {
tmp_iir = UART_IIR_RLSI;
- } else if (s->timeout_ipending) {
+ } else if ((s->ier & UART_IER_RDI) && s->timeout_ipending) {
tmp_iir = UART_IIR_CTI;
} else if ((s->ier & UART_IER_RDI) && (s->lsr & UART_LSR_DR)) {
if (!(s->fcr & UART_FCR_FE)) {
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-09-17 0:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-17 0:21 [Qemu-devel] [5239] 16550A UART: RHR irq enable bit also masks the Rx timeout irq Andrzej Zaborowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).