Re: [PATCH v3 2/2] usb:dwc3: pass arch data to xhci-hcd child

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/3/2016 11:28 PM, Felipe Balbi wrote:
santosh shilimkar <santosh.shilimkar@xxxxxxxxxx> writes:
+Arnd, RMK,

On 4/1/2016 4:57 AM, Felipe Balbi wrote:

Hi,

Grygorii Strashko <grygorii.strashko@xxxxxx> writes:
On 04/01/2016 01:20 PM, Felipe Balbi wrote:

[...]

commit 7ace8fc8219e4cbbfd5b4790390d9a01a2541cdf
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Date:   Mon Jul 13 18:10:05 2015 +0900

      usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU

      The dma_map_single and dma_unmap_single should set "gadget->dev.parent"
      instead of "&gadget->dev" in the first argument because the parent has
      a udc controller's device pointer.
      Otherwise, iommu functions are not called in ARM environment.

      Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
      Signed-off-by: Felipe Balbi <balbi@xxxxxx>

Above actually means that DMA configuration code can be dropped from
usb_add_gadget_udc_release() completely. Right?:

true, but now I'm not sure what's better: copy all necessary bits from
parent or just pass the parent device to all DMA API.

Anybody to shed a light here ?

The expectation is drivers should pass the proper dev pointers and let
core DMA code deal with it since it knows the per device dma properties.

okay, so how do you get proper DMA pointers with something like this:

	kdwc3_dma_mask = dma_get_mask(dev);
	dev->dma_mask = &kdwc3_dma_mask;

This doesn't anything.

Drivers actually needs to touch dma_mask(s) only if the core DMA
code hasn't populated it it. I see Grygorii pointed out couple
of things already.

Reagrds,
Santosh



--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux