[PATCH 0/6] serial: 8250: dma fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Greg, et. al.

This series aims to keep 8250 dma and the omap8250 variant from
diverging further, in the hopes that at some point the implementations
will converge.

The first 2 patches add an overlooked requirement of using the
dmaengine interface; namely ensuring the actual dmaengine driver is
capable of the operations required by the 8250 client.

The 8250 driver requires the dmaengine driver to support dma pause
with terminate for the rx channel, and further requires better-than-
descriptor residue accuracy (so that it is possible for dma to be
paused without completing followed by pio read of remaining rx data
_without losing data_.

Note however that the dmaengine driver query is known to be
insufficient, as at least one driver (omap-dma) does not support
the requirements for this use case but reports that it does.
My hope is to extend slave caps reporting to allow dmaengine
clients to distinguish incomplete pause/resume support.

A similar check is added for the tx chanenl. Soon I expect to add pause
check to tx channel as well, as I believe it will be required to
implement XON/XOFF transmit *which is completely missing* - with dma
enabled the x_char is never transmitted.

The remaining patches cleanup the rx dma interface; the rx dma flush
is extracted as a separate operation, rather than as a sub-operation
of dma flow.

REQUIRES: 4-patch series "serial: 8250: misc cleanups"

Regards,

Peter Hurley (6):
  serial: 8250: Validate dmaengine rx chan meets requirements
  serial: 8250: Validate dmaengine tx chan meets requirements
  serial: omap8250: Drop rx buffer sync
  serial: omap8250: Simplify rx dma completion interface
  serial: 8250: Extract IIR logic steering from rx dma
  serial: omap8250: Terminate rx dma only for flushes

 drivers/tty/serial/8250/8250.h      |  8 ++--
 drivers/tty/serial/8250/8250_dma.c  | 68 ++++++++++++++++++------------
 drivers/tty/serial/8250/8250_omap.c | 83 ++++++++++++++-----------------------
 drivers/tty/serial/8250/8250_port.c | 14 ++++++-
 4 files changed, 92 insertions(+), 81 deletions(-)

-- 
2.8.1

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux