Re: [PATCH] usb: gadget: aspeed: set port_dev dma mask
From: Christoph Hellwig <hch@lst.de>
Date: 2021-03-29 06:18:32
Also in:
linux-arm-kernel, linux-aspeed, linux-usb, openbmc
From: Christoph Hellwig <hch@lst.de>
Date: 2021-03-29 06:18:32
Also in:
linux-arm-kernel, linux-aspeed, linux-usb, openbmc
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:quoted
On Fri, Mar 26, 2021 at 12:03:03PM +0000, Robin Murphy wrote:quoted
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.