[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] xen/arm: uart interrupts handling
Hi Tim, I see that on uart interrupt, ICR is written to clear the all interrupts except TX, RX and RX timeout. With this, cpu always finds TX/RX is active and never comes out of the loop. With the below changes, TX, RX & RTI are cleared before handling this interrupts. Is my observation is correct?. If so I wonder how it is working on platforms that are using pl011. Without this for my cpu just keeps looping here. index fba0a55..d21bce3 100644 --- a/xen/drivers/char/pl011.c +++ b/xen/drivers/char/pl011.c @@ -63,7 +63,7 @@ static void pl011_interrupt(int irq, void *data, struct cpu_user_regs *regs) { do { - pl011_write(uart, ICR, status & ~(TXI|RTI|RXI)); + pl011_write(uart, ICR, status & (TXI|RTI|RXI)); if ( status & (RTI|RXI) ) serial_rx_interrupt(port, regs); @@ -157,7 +157,7 @@ static void pl011_resume(struct serial_port *port) { BUG(); // XXX } Regards Vijay _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |