> > The timer is started before DMA is set up. In the unlikely event of the > > DMA setup failing, s->chan_rx will be cleared while the timer has > > already been started. This is in deed a very rare condition. > > Or when the previous (still running) timer expires... Yes, ack. > Note that DMA is disabled for the serial console, cfr. the check for > uart_console() in sci_request_dma(). For testing, you can just remove > that check. I didn't test with the console but with the other debug port of a Salvator-X board. > Also, plain text typing (on the serial console, or on a getty running > on a secondary port) does not trigger a DMA RX transfer. Pasting > a block of text larger than the FIFO size to the terminal should > trigger DMA RX. I dd'ed random data to the port. '/proc/interrupts/' showed some DMA triggers but no indication of that code path. I need to recheck. Probably my fault somewhere, but I need to finish another task first. I'll come back here after this. Thanks for also looking into it, Geert!
Attachment:
signature.asc
Description: PGP signature