Message ID | 1639724997-21809-1-git-send-email-quic_c_sanm@quicinc.com |
---|---|
State | New |
Headers | show |
Series | [v4] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller | expand |
On Fri, Dec 17, 2021 at 12:39:57PM +0530, Sandeep Maheswaram wrote: > Set XHCI_SKIP_PHY_INIT quirk to avoid phy initialization twice. > Runtime suspend of phy drivers was failing from DWC3 driver as runtime > usage value is 2 because the phy is initialized from DWC3 and HCD core. > DWC3 manages phy in their core drivers. Set this quirk to avoid phy > initialization in HCD core. > > Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> > --- > v4: > Changed pdev->dev.parent->of_node to sysdev->of_node > > drivers/usb/host/xhci-plat.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c > index c1edcc9..1a57573 100644 > --- a/drivers/usb/host/xhci-plat.c > +++ b/drivers/usb/host/xhci-plat.c > @@ -327,6 +327,9 @@ static int xhci_plat_probe(struct platform_device *pdev) > &xhci->imod_interval); > } > > + if (of_device_is_compatible(sysdev->of_node, "snps,dwc3")) > + xhci->quirks |= XHCI_SKIP_PHY_INIT; Please put a big comment in here as to why this is being set, that contains some of the same information you put in your changelog. Otherwise just reading this code, it is not obvious why this quirk is being set at all. thanks, greg k-h
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index c1edcc9..1a57573 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -327,6 +327,9 @@ static int xhci_plat_probe(struct platform_device *pdev) &xhci->imod_interval); } + if (of_device_is_compatible(sysdev->of_node, "snps,dwc3")) + xhci->quirks |= XHCI_SKIP_PHY_INIT; + hcd->usb_phy = devm_usb_get_phy_by_phandle(sysdev, "usb-phy", 0); if (IS_ERR(hcd->usb_phy)) { ret = PTR_ERR(hcd->usb_phy);
Set XHCI_SKIP_PHY_INIT quirk to avoid phy initialization twice. Runtime suspend of phy drivers was failing from DWC3 driver as runtime usage value is 2 because the phy is initialized from DWC3 and HCD core. DWC3 manages phy in their core drivers. Set this quirk to avoid phy initialization in HCD core. Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> --- v4: Changed pdev->dev.parent->of_node to sysdev->of_node drivers/usb/host/xhci-plat.c | 3 +++ 1 file changed, 3 insertions(+)