On Mon, Nov 27, 2023 at 06:15:20PM +0530, Manivannan Sadhasivam wrote: > Hi, > > This series add async read/write support for the MHI endpoint stack by > modifying the MHI ep stack and the MHI EPF (controller) driver. > > Currently, only sync read/write operations are supported by the stack, > this resulting in poor data throughput as the transfer is halted until > receiving the DMA completion. So this series adds async support such > that the MHI transfers can continue without waiting for the transfer > completion. And once the completion happens, host is notified by sending > the transfer completion event. > > This series brings iperf throughput of ~4Gbps on SM8450 based dev platform, > where previously 1.6Gbps was achieved with sync operation. > > - Mani > > Manivannan Sadhasivam (9): > bus: mhi: ep: Pass mhi_ep_buf_info struct to read/write APIs > bus: mhi: ep: Rename read_from_host() and write_to_host() APIs > bus: mhi: ep: Introduce async read/write callbacks > PCI: epf-mhi: Simulate async read/write using iATU > PCI: epf-mhi: Add support for DMA async read/write operation > PCI: epf-mhi: Enable MHI async read/write support > bus: mhi: ep: Add support for async DMA write operation > bus: mhi: ep: Add support for async DMA read operation > bus: mhi: ep: Add checks for read/write callbacks while registering > controllers > > drivers/bus/mhi/ep/internal.h | 1 + > drivers/bus/mhi/ep/main.c | 256 +++++++++------ > drivers/bus/mhi/ep/ring.c | 41 +-- > drivers/pci/endpoint/functions/pci-epf-mhi.c | 314 ++++++++++++++++--- > include/linux/mhi_ep.h | 33 +- > 5 files changed, 485 insertions(+), 160 deletions(-) Mani, do you want to merge this via your MHI tree? If so, you can include Krzysztof's Reviewed-by tags and my: Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> If you think it'd be better via the PCI tree, let me know and we can do that, too. Bjorn