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 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html