Re: [PATCH 0/9] bus: mhi: ep: Add async read/write support

Bjorn Helgaas
2023-12-13T19:31:09Z

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@google.com>

If you think it'd be better via the PCI tree, let me know and we can
do that, too.

Bjorn