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

From: Roger Quadros
Date: Tue Jan 10 2017 - 07:12:05 EST


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.

[ 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

cheers,
-roger