Re: omap uart + dma issues (Re: [PATCH] tty: serial: 8250_omap: do not defer termios changes)
From: Peter Hurley
Date: Wed Apr 13 2016 - 21:14:39 EST
On 04/13/2016 04:11 AM, Sekhar Nori wrote:
> On Wednesday 13 April 2016 05:30 AM, Peter Hurley wrote:
>
>>>> - generates spurious uart interrupt for every rx dma transaction
>>>> (ie., necessitates acking every UART interrupt, even UART_IIR_NO_INT)
>>>> _Even with this workaround_, it still generates spurious interrupt warning
>>>> which shuts off interrupts for several ms while logging the error
>>>> message to the console, virtually guaranteeing lost data.
>>>
>>> as I wrote in my other email I think RDI should be disabled with DMA
>>
>>
>> I'll test to see if disabling RDI eliminates the UART_IIR_NO_INT spurious
>> interrupts.
Ok; disabling UART_IER_RDI eliminates the UART_IIR_NO_INT spurious
interrupts.
However, disabling RDI disables RX timeout as well, so data just sits in
the RX fifo with no way to get it out. AFAICT that's a showstopper.
>>> according the Intel manual and I *think* someone here reported that
>>> they see the same problem.
>>
>> Let's confirm with the Intel folks that this is true, which would argue
>> for using the omap-style rx dma flow.
>
> Andy Shevchenko pointed this out here: https://lkml.org/lkml/2016/2/23/588
which Andy noted as well:
On 02/23/2016 08:56 AM, Andy Shevchenko wrote:
> The problem is that we have no separate bit to control timeout
> interrupts from UART.