Message ID | 1649323888-12420-2-git-send-email-quic_c_sanm@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Skip phy initialization for DWC3 USB Controllers | expand |
On Thu, Apr 07, 2022 at 03:01:27PM +0530, Sandeep Maheswaram wrote: > Add device property usb-skip-phy-init to check and set XHCI_SKIP_PHY_INIT > quirk. > 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. > Some controllers like DWC3 and CDNS3 manage phy in their core drivers. > This property can be set to avoid phy initialization in HCD core. > > Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> > --- > 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 649ffd8..7624ed9 100644 > --- a/drivers/usb/host/xhci-plat.c > +++ b/drivers/usb/host/xhci-plat.c > @@ -305,6 +305,9 @@ static int xhci_plat_probe(struct platform_device *pdev) > if (device_property_read_bool(tmpdev, "quirk-broken-port-ped")) > xhci->quirks |= XHCI_BROKEN_PORT_PED; > > + if (device_property_read_bool(tmpdev, "usb-skip-phy-init")) > + xhci->quirks |= XHCI_SKIP_PHY_INIT; You forgot to document this new property. Without that, we can not accept this :(
+Rob Herring On Wed, Apr 20, 2022 at 05:36:57PM +0200, Greg Kroah-Hartman wrote: > On Thu, Apr 07, 2022 at 03:01:27PM +0530, Sandeep Maheswaram wrote: > > Add device property usb-skip-phy-init to check and set XHCI_SKIP_PHY_INIT > > quirk. > > 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. > > Some controllers like DWC3 and CDNS3 manage phy in their core drivers. > > This property can be set to avoid phy initialization in HCD core. > > > > Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> > > --- > > 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 649ffd8..7624ed9 100644 > > --- a/drivers/usb/host/xhci-plat.c > > +++ b/drivers/usb/host/xhci-plat.c > > @@ -305,6 +305,9 @@ static int xhci_plat_probe(struct platform_device *pdev) > > if (device_property_read_bool(tmpdev, "quirk-broken-port-ped")) > > xhci->quirks |= XHCI_BROKEN_PORT_PED; > > > > + if (device_property_read_bool(tmpdev, "usb-skip-phy-init")) > > + xhci->quirks |= XHCI_SKIP_PHY_INIT; > > You forgot to document this new property. Without that, we can not > accept this :( > Thanks Greg for taking a look. This series has a device tree binding doc update but got dropped after Rob's comment here. https://lore.kernel.org/linux-usb/YY7vAzxj9aR%2FzBSB@robh.at.kernel.org/ Sandeep, Since, we could not come up with a way to limit this to only dwc3/cdns3 controllers, please include the device tree binding doc and re-send the series. https://lore.kernel.org/linux-usb/f578947c-fb10-11b7-abe8-28b6b3f6bb0c@linux.intel.com/#t has all the different options we dicussed and why we went with a dT param for this. Thanks, Pavan
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 649ffd8..7624ed9 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -305,6 +305,9 @@ static int xhci_plat_probe(struct platform_device *pdev) if (device_property_read_bool(tmpdev, "quirk-broken-port-ped")) xhci->quirks |= XHCI_BROKEN_PORT_PED; + if (device_property_read_bool(tmpdev, "usb-skip-phy-init")) + xhci->quirks |= XHCI_SKIP_PHY_INIT; + device_property_read_u32(tmpdev, "imod-interval-ns", &xhci->imod_interval); }
Add device property usb-skip-phy-init to check and set XHCI_SKIP_PHY_INIT quirk. 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. Some controllers like DWC3 and CDNS3 manage phy in their core drivers. This property can be set to avoid phy initialization in HCD core. Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> --- drivers/usb/host/xhci-plat.c | 3 +++ 1 file changed, 3 insertions(+)