Re: [RFC PATCH v2 19/27] PCI: dwc: ep: Cache MSI outbound iATU mapping

From: Koichiro Den

Date: Wed Dec 03 2025 - 09:36:35 EST


On Wed, Dec 03, 2025 at 11:39:21AM +0100, Niklas Cassel wrote:
> On Wed, Dec 03, 2025 at 05:40:45PM +0900, Koichiro Den wrote:
> > >
> > > If we want to improve the dw-edma driver, so that an EPF driver can have
> > > multiple outstanding transfers, I think the best way forward would be to create
> > > a new _prep_slave_memcpy() or similar, that does take a direction, and thus
> > > does not require dmaengine_slave_config() to be called before every
> > > _prep_slave_memcpy() call.
> >
> > Would dmaengine_prep_slave_single_config(), which Frank tolds us in this
> > thread, be sufficient?
>
> I think that Frank is suggesting a new dmaengine API,
> dmaengine_prep_slave_single_config(), which is like
> dmaengine_prep_slave_single(), but also takes a struct dma_slave_config *
> as a parameter.
>
>
> I really like the idea.
> I think it would allow us to remove the mutex in nvmet_pci_epf_dma_transfer():
> https://github.com/torvalds/linux/blob/v6.18/drivers/nvme/target/pci-epf.c#L389-L429

Thank you for the clarification. I was wondering whether there were any
particular reasons for covering such a broad window (i.e. from
dmaengine_prep_slave_sg() to the end of dma_sync_wait()) with the mutex in
the nvme case (but it seems there are none, right?).

>
> Frank you wrote: "Thanks, we also consider ..."
> Does that mean that you have any plans to work on this?
> I would definitely be interested.

No, I only learned about the idea in this thread. I also think it is a good
idea, but I would be interested to know why it has not been upstreamed so
far, I mean, whether there were any technical hurdles. Frank, any input
would be greatly appreciated.

Thank you,
Koichiro

>
>
> Kind regards,
> Niklas