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.
Alexander Usyskin (3): mei: define dma ring buffer sizes for PCH12 HW and newer mei: bump hbm version to 2.1 mei: me: mark CNP devices as having dma support Tomas Winkler (9): mei: add support for variable length mei headers. mei: hbm: define dma ring setup protocol mei: hbm: introduce dma bit in the message header mei: restrict dma ring support to hbm version 2.1 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 | 84 +++++++++---- drivers/misc/mei/debugfs.c | 2 + drivers/misc/mei/dma-ring.c | 278 +++++++++++++++++++++++++++++++++++++++++++ drivers/misc/mei/hbm.c | 126 ++++++++++++++++++-- drivers/misc/mei/hbm.h | 2 + drivers/misc/mei/hw-me.c | 53 ++++++--- drivers/misc/mei/hw-me.h | 4 + drivers/misc/mei/hw-txe.c | 42 +++---- drivers/misc/mei/hw.h | 98 ++++++++++++++- drivers/misc/mei/init.c | 2 +- drivers/misc/mei/interrupt.c | 45 ++++--- drivers/misc/mei/mei_dev.h | 57 +++++++-- drivers/misc/mei/pci-me.c | 4 +- 14 files changed, 700 insertions(+), 98 deletions(-) create mode 100644 drivers/misc/mei/dma-ring.c -- 2.14.4