Re: [RFC] usb: chipidea: set dma_ops for the created ci_hdrc platform_device

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

 



On Tue, Apr 25, 2017 at 12:01 PM, Jisheng Zhang <jszhang@xxxxxxxxxxx> wrote:
> Hi all,
>
> After commit 1dccb598df549 ("arm64: simplify dma_get_ops"), the chipidea
> driver can't work any more on Marvell Berlin arm64 platforms, the reason
> is the created ci_hdrc platform_device's dma_ops is dummy_dma_ops, so all
> dma related operations will fail. The fix I can think of would be something
> as below:
>
> And I noticed that dwc3 has the same issue[1], and as pointed out in its
> discussion, the patch can't fix None-DT platforms, so could you please
> guide me what's the proper fix which can be mainlined?

I think the right solution is:

- Set the "sysdev" pointer tin the USB device o the device structure that
  was created by DT or the legacy board file and remove the manual
  setting of dma_mask,  parms and the dma_configure. This should
  make everything work as expected in case of DT

- For any legacy board files, set the mask/parms and map_ops at
  the point where the device originally created.

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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux