Re: [PATCH v2 4/5] PCI: epf-mhi: Add batched DMA read support
Manivannan Sadhasivam <[email protected]>
| Newsgroups | org.kernel.vger.linux-pci,dev.linux.lists.mhi,org.kernel.vger.dmaengine,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <szx7jctqp4h6yhgvhwmiqfjtsemwlu3iardtntp4nfc22u3bfi@ux5ioixmfdnh> |
On Thu, Aug 06, 2026 at 12:11:34PM -0500, Frank Li wrote:
[...]
> > + config.direction = DMA_DEV_TO_MEM;
> > + ret = dmaengine_slave_config(chan, &config);
> > + if (ret) {
> > + dev_err(dev, "Failed to configure DMA channel for %u-buffer batch read: %d\n",
> > + num_buffers, ret);
> > + goto err_unmap;
> > + }
> > +
> > + desc = dmaengine_prep_dma_sg(chan, dst_sg, num_buffers,
> > + src_sg, num_buffers,
> > + DMA_CTRL_ACK | DMA_PREP_INTERRUPT);
>
> Although both side memory address, but as previous discussion, which is not
> memcpy, still memory to IO space transfer.
>
I agree, it is peripheral DMA nevertheless.
> Maybe enhence device_prep_peripheral_dma_vec(). Actually eDMA still split
> it to small trunk and linked together.
>
By enhance you mean keeping the semantics of device_prep_peripheral_dma_vec()
API? I don't know how it helps because we would most likely end up with two
vector arguments and duplicating scatter-gather lists.
- Mani
--
மணிவண்ணன் சதாசிவம்