[PATCH v13 06/12] usb: xhci: use bus->sysdev for DMA configuration

Peter Chen hzpeterchen at gmail.com
Tue Feb 14 17:35:14 PST 2017


On Tue, Feb 14, 2017 at 01:58:40PM +0100, Arnd Bergmann wrote:
> On Tue, Feb 14, 2017 at 1:26 PM, Roger Quadros <rogerq at ti.com> wrote:
> > On 14/02/17 13:44, Arnd Bergmann wrote:
> >> On Tue, Feb 14, 2017 at 11:36 AM, Roger Quadros <rogerq at ti.com> wrote:
> 
> >>> Why are we using sysdev to read DT property? We should be using the
> >>> XHCI device (&pdev->dev) here, no?
> >>
> >> If I remember correctly, this is one of the cases where pdev does not
> >> have a device node attached to it because it was created by the driver
> >> of the parent device on the fly in case of dwc3. When you have a pure xhci
> >> device in DT, the two pointers are the same.
> >
> > From drivers/usb/dwc3/host.c
> >
> >>         if (dwc->usb3_lpm_capable) {
> >>                 props[0].name = "usb3-lpm-capable";
> >>                 ret = platform_device_add_properties(xhci, props);
> >>                 if (ret) {
> >>                         dev_err(dwc->dev, "failed to add properties to xHCI\n");
> >>                         goto err1;
> >>                 }
> >>         }
> >
> > So it is setting the usb3-lpm-capable property into the xhci platform device
> > and we should be reading the property from there.

Why dwc3 needs another "snps,usb3_lpm_capable"? Why not using
"usb3-lpm-capable" at firmware directly?

Peter

> 
> Hmm, ideally we would only have properties on one of the two, since we
> refer to the sysdev for the properties regarding DMA and PHY among other
> things, but I guess that's not an option here, since we can't call
> platform_device_add_properties() on a dwc_pci device and have to
> use the xhci pdev instead.
> 
>      Arnd
> 
-- 

Best Regards,
Peter Chen



More information about the linux-arm-kernel mailing list