[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