* [PATCH v4] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
@ 2021-12-17 7:09 Sandeep Maheswaram
2021-12-17 9:55 ` Greg Kroah-Hartman
0 siblings, 1 reply; 2+ messages in thread
From: Sandeep Maheswaram @ 2021-12-17 7:09 UTC (permalink / raw)
To: Greg Kroah-Hartman, Felipe Balbi, Stephen Boyd, Doug Anderson,
Matthias Kaehlcke, Mathias Nyman
Cc: linux-usb, linux-kernel, quic_pkondeti, quic_ppratap, Sandeep Maheswaram
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;
+
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);
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v4] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
2021-12-17 7:09 [PATCH v4] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
@ 2021-12-17 9:55 ` Greg Kroah-Hartman
0 siblings, 0 replies; 2+ messages in thread
From: Greg Kroah-Hartman @ 2021-12-17 9:55 UTC (permalink / raw)
To: Sandeep Maheswaram
Cc: Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke,
Mathias Nyman, linux-usb, linux-kernel, quic_pkondeti,
quic_ppratap
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-12-17 9:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-17 7:09 [PATCH v4] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
2021-12-17 9:55 ` Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.