On Tuesday, 12 June 2018 17:14:52 MSK David R. Piegdon wrote: > Hello, > > Currently I am debugging an issue on a Toradex Colibri T20 Module > (Tegra2) using kernel 4.9.86 of our own make. This also happens using > a current 4.17 kernel. > I would greatly appreciate any help / pointers on this subject. > > When using the UARTA (@70006000) block with the plain 8250 driver [1] > (devicetree: compatible="nvidia,tegra20-uart") we get spurious > interrupts on the corresponding irq line. These seem to correlate with > the driver shortly enabling the IER_THRI (tx queue empty interrupt) > of the 8250 and then disabling it again almost right away, as the > tx queue is empty and no data is available for transmit. > This happens every one in a while, but when it happens, the interrupts > get triggered continuously until the kernel switches to polling. > When resetting the serial port (e.g. close&open) it seems to properly > work again and interrupts are used again. > During the failure, somehow the interrupt continues to be triggered, > even though the IIR register shows no active interrupts (IIR == 0xC1) > Hello David, TRM says "IS_STA: Interrupt Pending if ZERO" for BIT(1) of UART_IIR_FCR_0 register, this matches the UART standard that kernel follows by checking whether UART_IIR_NO_INT bit is set in the serial8250_handle_irq(). That bit is zero in your case, meaning that interrupt is asserted. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html