[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/4] xen: set the right flags when enabling interrupts for 8250
On Fri, 2013-07-19 at 20:57 +0800, Chen Baozi wrote: > Previous bits setting would cause generating THRE interrupts, which cannot > be cleared and make system loop in gic_interrupt endlessly. Set 'received > data available' and 'receiver line status' bits of IER when enabling > interrupts as what Linux 8250 driver does. We do actually want THRE interrupts though, don't we? Otherwise how do we know when we can send more stuff? Are you using console_sync? It might mask any issue arising from not getting these interrupts (or maybe even cause your initial issue?) The LSI register is only of use if we care about RTS/CTS or something. I don't know if we do, but I'd be surprised if just asking for the interrupt was sufficient (i.e. we'd need to do something with the irq) How did you configure this interrupt line, level or edge trigger? I'd have expected it to need to be edge, and the issue sounds a bit like it might be level. Ian. > Signed-off-by: Chen Baozi <baozich@xxxxxxxxx> > --- > xen/drivers/char/ns16550.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c > index 9248330..60512be 100644 > --- a/xen/drivers/char/ns16550.c > +++ b/xen/drivers/char/ns16550.c > @@ -237,8 +237,8 @@ static void ns16550_setup_postirq(struct ns16550 *uart) > ns_write_reg(uart, > UART_MCR, UART_MCR_OUT2 | UART_MCR_DTR | UART_MCR_RTS); > > - /* Enable receive and transmit interrupts. */ > - ns_write_reg(uart, UART_IER, UART_IER_ERDAI | UART_IER_ETHREI); > + /* Enable receive and line status interrupts. */ > + ns_write_reg(uart, UART_IER, UART_IER_ERDAI | UART_IER_ELSI); > } > > if ( uart->irq >= 0 ) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |