[PATCH v3 0/3] bus: mhi: ep: Implement flush_async() callback to flush async read/write
Manivannan Sadhasivam via B4 Relay <[email protected]> Wed, 22 Jul 2026 07:54:43 +0200
| Newsgroups | dev.linux.lists.mhi,org.kernel.feeds.b4-sent,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <[email protected]> |
Hi, This series introduces a new mhi_cntrl->flush_async() callback to flush the async read/write operations performed by the MHI controller using offload mechanisms such as DMA. The MHI EPF driver implements this callback by flushing the DMA wq. With this series, the MHI EP stack can guarnatee that the channel specific xfer_cb() won't be run after calling mhi_ep_remove() and mhi_ep_abort_transfer(). Merge Strategy ============== Both MHI and PCI EP changes should go together. So I'm planning to take both MHI and PCI EP patches through MHI tree. Signed-off-by: Manivannan Sadhasivam <[email protected]> --- Changes in v3: - Dropped the dmaengine patch as a variant of it already got merged into dmaengine tree - Move flush_async() callback before triggering ENOTCONN - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: - Switched to read_poll_timeout() in dw_edma_device_synchronize() - Switched to dmaengine_synchronize() in pci_epf_mhi_edma_flush_async() - Link to v1: https://patch.msgid.link/[email protected] --- Manivannan Sadhasivam (3): bus: mhi: ep: Add mhi_cntrl->flush_async() callback to flush the async read/write bus: mhi: ep: Flush async transfers before notifying disconnect in mhi_ep_abort_transfer() PCI: epf-mhi: Implement mhi_cntrl->flush_async() to flush DMA read/write drivers/bus/mhi/ep/main.c | 41 +++++++++++++++++++++++----- drivers/pci/endpoint/functions/pci-epf-mhi.c | 10 +++++++ include/linux/mhi_ep.h | 2 ++ 3 files changed, 46 insertions(+), 7 deletions(-) --- base-commit: 4549871118cf616eecdd2d939f78e3b9e1dddc48 change-id: 20260627-mhi-ep-flush-b50502718a9d Best regards, -- மணிவண்ணன் சதாசிவம்