Re: [PATCH] usb: gadget: aspeed: set port_dev dma mask

Tao Ren
2021-03-31T03:47:50Z

On Mon, Mar 29, 2021 at 08:17:35AM +0200, Christoph Hellwig wrote:
> On Sat, Mar 27, 2021 at 03:17:59PM -0700, Tao Ren wrote:
> > On Fri, Mar 26, 2021 at 01:05:26PM +0100, Christoph Hellwig wrote:
> > > On Fri, Mar 26, 2021 at 12:03:03PM +0000, Robin Murphy wrote:
> > > > This might happen to work out, but is far from correct. Just wait until you
> > > > try it on a platform where the USB controller is behind an IOMMU...
> > > >
> > > > It looks like something is more fundamentally wrong here - the device
> > > > passed to DMA API calls must be the actual hardware device performing the
> > > > DMA, which in USB-land I believe means the controller's sysdev.
> > >
> > > The shiny new usb_intf_get_dma_device API provides the device to use.
> >
> > Thanks Robin and Christoph for the feedback.
> >
> > If I understand correctly, usb_intf_get_dma_device API is mainly for usb
> > host drivers? I just found usb_gadget_map_request_by_dev API: does it
> > make sense to replace usb_gadget_map_request with
> > usb_gadget_map_request_by_dev so we can pass the actual DMA-capable
> > hardware device (aspeed-vhub platform device) to the API?
>
> Oh, right you're dealing with a gadget side driver. Not sure about
> the API there, I'll let the relevant maintainers chime in.

Given this is not the right path, I will drop the patch and work out a
new fix soon (by calling usb_gadget_map_request_by_dev, and with
modified subject).

Cheers,

Tao