Re: [PATCH v5 4/6] usb: xhci: use bus->sysdev for DMA configuration

From: Roger Quadros
Date: Thu Jan 12 2017 - 03:38:50 EST


Mathias,

On 11/01/17 17:08, Alan Stern wrote:
> On Wed, 11 Jan 2017, Mathias Nyman wrote:
>
>> On 17.11.2016 13:43, Sriram Dash wrote:
>>> From: Arnd Bergmann <arnd@xxxxxxxx>
>>>
>>> For xhci-hcd platform device, all the DMA parameters are not
>>> configured properly, notably dma ops for dwc3 devices. So, set
>>> the dma for xhci from sysdev. sysdev is pointing to device that
>>> is known to the system firmware or hardware.
>>>
>>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>>> Signed-off-by: Sriram Dash <sriram.dash@xxxxxxx>
>>> Tested-by: Baolin Wang <baolin.wang@xxxxxxxxxx>
>>> ---
>>
>> ...
>>
>>> + /*
>>> + * sysdev must point to a device that is known to the system firmware
>>> + * or PCI hardware. We handle these three cases here:
>>> + * 1. xhci_plat comes from firmware
>>> + * 2. xhci_plat is child of a device from firmware (dwc3-plat)
>>> + * 3. xhci_plat is grandchild of a pci device (dwc3-pci)
>>> + */
>>> + sysdev = &pdev->dev;
>>> + if (sysdev->parent && !sysdev->of_node && sysdev->parent->of_node)
>>> + sysdev = sysdev->parent;
>>> +#ifdef CONFIG_PCI
>>> + else if (sysdev->parent && sysdev->parent->parent &&
>>> + sysdev->parent->parent->bus == &pci_bus_type)
>>> + sysdev = sysdev->parent->parent;
>>> +#endif
>>> +
>>
>> Not maybe the the ideal situation here, and looks really tailored to make PCI dwc3
>> controllers with xhci support work.
>>
>> Was there some reason child devices can't automatically inherit the dma mask from the parents,
>> forcing us to dig it from grandparents?
>>
>> Anyway, looks like the dwc3 part is already in 4.10-rc,
>> If Greg and Alan want to take this series that's fine by me
>
> I have no objections.
>
> Alan Stern
>
>> I haven't tested that it won't break anything on PCI XHCI controllers though
>>
>> -Mathias

Are you going to pick all the remaining patches from this series (i.e. 1 to 4)?

That should fix the warning that people are seeing on v4.10-rc.

cheers,
roger