Quoting Sandeep Maheswaram (2021-11-30 22:15:38)Not sure about the commit id to be used here.
Set XHCI_SKIP_PHY_INIT quirk to avoid phy initialization twice.This looks wrapped weirdly.
Runtime suspend of phy drivers was failing from DWC3 driver as
runtime usage value is 2 because the phy is initialized from
DWC3 core and HCD core.
DWC3 manages phy in their core drivers.
Set this quirk to avoid phy initialization in HCD core.Any Fixes tag?
Signed-off-by: Sandeep Maheswaram <quic_c_sanm@xxxxxxxxxxx>
---Are we sure that pdev->dev.parent isn't NULL here?
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..9bbd939 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(pdev->dev.parent->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)) {