Re: [PATCH v5 0/6] inherit dma configuration from parent dev

From: Javier Martinez Canillas
Date: Wed Jan 11 2017 - 16:34:18 EST


[adding Arnd Bergmann who wrote the patches and I noticed was not cc'ed]

Hello,

On Tue, Jan 10, 2017 at 9:11 AM, Roger Quadros <rogerq@xxxxxx> wrote:
> On 05/01/17 19:16, Greg KH wrote:
>> On Thu, Jan 05, 2017 at 05:21:09PM +0200, Roger Quadros wrote:
>>> Hi,
>>>
>>> On 17/11/16 13:43, Sriram Dash wrote:
>>>> For xhci-hcd platform device, all the DMA parameters are not
>>>> configured properly, notably dma ops for dwc3 devices.
>>>>
>>>> The idea here is that you pass in the parent of_node along
>>>> with the child device pointer, so it would behave exactly
>>>> like the parent already does. The difference is that it also
>>>> handles all the other attributes besides the mask.
>>>>
>>>> Arnd Bergmann (6):
>>>> usb: separate out sysdev pointer from usb_bus
>>>> usb: chipidea: use bus->sysdev for DMA configuration
>>>> usb: ehci: fsl: use bus->sysdev for DMA configuration
>>>> usb: xhci: use bus->sysdev for DMA configuration
>>>> usb: dwc3: use bus->sysdev for DMA configuration
>>>> usb: dwc3: Do not set dma coherent mask
>>>
>>> Only the dwc3 patches have been picked up for v4.10 and the rest are still missing.
>>> Any plans to pick them in the rc cycle?
>>>
>>> DMA configuration is still broken for XHCI on v4.10 and -next.
>>
>> It's always been broken, so it's not a big deal for 4.10 :)
>>
> OK. But I do see the following warning on xhci probe on TI platforms that use
> dwc3 IP. This is new in v4.10.
>

I see a similar warning on an Exynos5800 machine (Peach Pi). This is
new starting from v4.10-rc1.

> [ 11.664835] ------------[ cut here ]------------
> [ 11.669693] WARNING: CPU: 1 PID: 534 at drivers/usb/host/xhci-plat.c:168 xhci_plat_probe+0x180/0x450 [xhci_plat_hcd]
> [ 11.680765] Modules linked in: xhci_plat_hcd(+) xhci_hcd usbcore evdev dwc3 snd_soc_simple_card snd_soc_tlv320aic3x snd_soc_simple_card_utils udc_core m25p80 snd_soc_davinci_mcasp usb_common spi_nor snd_soc_e
> [ 11.726078] CPU: 1 PID: 534 Comm: modprobe Tainted: G W 4.10.0-rc3 #1075
> [ 11.734293] Hardware name: Generic DRA74X (Flattened Device Tree)
> [ 11.740695] [<c011013c>] (unwind_backtrace) from [<c010c300>] (show_stack+0x10/0x14)
> [ 11.748829] [<c010c300>] (show_stack) from [<c04a0018>] (dump_stack+0xac/0xe0)
> [ 11.756413] [<c04a0018>] (dump_stack) from [<c013700c>] (__warn+0xd8/0x104)
> [ 11.763722] [<c013700c>] (__warn) from [<c01370e4>] (warn_slowpath_null+0x20/0x28)
> [ 11.771675] [<c01370e4>] (warn_slowpath_null) from [<bf317280>] (xhci_plat_probe+0x180/0x450 [xhci_plat_hcd])
> [ 11.782110] [<bf317280>] (xhci_plat_probe [xhci_plat_hcd]) from [<c055f390>] (platform_drv_probe+0x4c/0xb0)
> [ 11.792338] [<c055f390>] (platform_drv_probe) from [<c055d3ec>] (driver_probe_device+0x200/0x2d4)
> [ 11.801655] [<c055d3ec>] (driver_probe_device) from [<c055d580>] (__driver_attach+0xc0/0xc4)
> [ 11.810518] [<c055d580>] (__driver_attach) from [<c055b868>] (bus_for_each_dev+0x6c/0xa0)
> [ 11.819095] [<c055b868>] (bus_for_each_dev) from [<c055c9cc>] (bus_add_driver+0x18c/0x214)
> [ 11.827767] [<c055c9cc>] (bus_add_driver) from [<c055e3b8>] (driver_register+0x78/0xf8)
> [ 11.836167] [<c055e3b8>] (driver_register) from [<c010188c>] (do_one_initcall+0x3c/0x174)
> [ 11.844751] [<c010188c>] (do_one_initcall) from [<c023c084>] (do_init_module+0x5c/0x1d0)
> [ 11.853247] [<c023c084>] (do_init_module) from [<c01da5a8>] (load_module+0x1d48/0x23a8)
> [ 11.861649] [<c01da5a8>] (load_module) from [<c01dad58>] (SyS_init_module+0x150/0x174)
> [ 11.869961] [<c01dad58>] (SyS_init_module) from [<c0107860>] (ret_fast_syscall+0x0/0x1c)
> [ 11.878494] ---[ end trace a0ca4c6c0c9a9ee9 ]---
> [ 11.883400] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
>

I tracked down to commit d64ff406e51e ("usb: dwc3: use bus->sysdev for
DMA configuration") which is part of this series. If I revert that
commit, the warning goes away.

Best regards,
Javier