All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.