This is a resend of the second part for the mei dma ring, that was left out.
This series adds an alternative method for transferring data between the mei driver and the device via a DMA ring. The DMA ring allows transferring data in bigger chunks, up to 128K, than the HW ring 512B. The actual sizes depend on particular MEI generations. The HW ring is faster for packets that fits into the HW ring while a packet that would require fragmentation is faster to send via the DMA ring. V2: 1. Use single license for the new dma-ring.c file. 2. Adjust kdoc to new requirements: https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html Alexander Usyskin (2): mei: bump hbm version to 2.1 mei: me: mark CNP devices as having dma support Tomas Winkler (5): mei: dma ring buffers allocation mei: hbm: setup dma ring mei: hw: add dma ring control block mei: dma ring: implement rx circular buffer logic mei: dma ring: implement transmit flow drivers/misc/mei/Makefile | 1 + drivers/misc/mei/client.c | 66 +++++++-- drivers/misc/mei/dma-ring.c | 269 +++++++++++++++++++++++++++++++++++ drivers/misc/mei/hbm.c | 88 +++++++++++- drivers/misc/mei/hbm.h | 2 + drivers/misc/mei/hw-me.c | 6 + drivers/misc/mei/hw.h | 29 +++- drivers/misc/mei/init.c | 2 +- drivers/misc/mei/interrupt.c | 41 ++++-- drivers/misc/mei/mei_dev.h | 26 +++- drivers/misc/mei/pci-me.c | 4 +- 11 files changed, 500 insertions(+), 34 deletions(-) create mode 100644 drivers/misc/mei/dma-ring.c -- 2.17.2