Message ID | 20231127124529.78203-1-manivannan.sadhasivam@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | bus: mhi: ep: Add async read/write support | expand |
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
On Wed, Dec 13, 2023 at 01:31:03PM -0600, Bjorn Helgaas wrote: > 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. > Thanks Bjorn! Yes, to avoid possible conflicts with other MHI patches, I need to take this series via MHI tree. - Mani > Bjorn
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. > Applied to mhi-next with reviews from Bjorn and Krzysztof for PCI EPF patches. - Mani > - 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(-) > > -- > 2.25.1 >