All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] Skip phy initialization for DWC3 USB Controllers
@ 2021-12-01  6:15 Sandeep Maheswaram
  2021-12-01  6:15 ` [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
  2021-12-02  3:14 ` [PATCH v3] Skip phy initialization for DWC3 USB Controllers Stephen Boyd
  0 siblings, 2 replies; 7+ messages in thread
From: Sandeep Maheswaram @ 2021-12-01  6:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Felipe Balbi, Stephen Boyd, Doug Anderson,
	Matthias Kaehlcke, Mathias Nyman
  Cc: linux-arm-msm, 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 core and HCD core.
DWC3 manages phy in their core drivers.
Set this quirk to avoid phy initialization in HCD core.

v3:
Dropped the dt property and binding.
Checking for dwc3 compatible in xhci to set the quirk XHCI_SKIP_PHY_INIT.

v2:
Updated the commit descriptions.
Changed subject prefix from dwc to dwc3.
Increased props array size.

Sandeep Maheswaram (1):
  usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller

 drivers/usb/host/xhci-plat.c | 3 +++
 1 file changed, 3 insertions(+)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
  2021-12-01  6:15 [PATCH v3] Skip phy initialization for DWC3 USB Controllers Sandeep Maheswaram
@ 2021-12-01  6:15 ` Sandeep Maheswaram
  2021-12-02  3:17   ` Stephen Boyd
  2021-12-13 13:57   ` Greg Kroah-Hartman
  2021-12-02  3:14 ` [PATCH v3] Skip phy initialization for DWC3 USB Controllers Stephen Boyd
  1 sibling, 2 replies; 7+ messages in thread
From: Sandeep Maheswaram @ 2021-12-01  6:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Felipe Balbi, Stephen Boyd, Doug Anderson,
	Matthias Kaehlcke, Mathias Nyman
  Cc: linux-arm-msm, 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 core 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>
---
 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)) {
 		ret = PTR_ERR(hcd->usb_phy);
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] Skip phy initialization for DWC3 USB Controllers
  2021-12-01  6:15 [PATCH v3] Skip phy initialization for DWC3 USB Controllers Sandeep Maheswaram
  2021-12-01  6:15 ` [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
@ 2021-12-02  3:14 ` Stephen Boyd
  1 sibling, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2021-12-02  3:14 UTC (permalink / raw)
  To: Doug Anderson, Felipe Balbi, Greg Kroah-Hartman, Mathias Nyman,
	Matthias Kaehlcke, Sandeep Maheswaram
  Cc: linux-arm-msm, linux-usb, linux-kernel, quic_pkondeti, quic_ppratap

Quoting Sandeep Maheswaram (2021-11-30 22:15:37)
> 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 core and HCD core.
> DWC3 manages phy in their core drivers.
> Set this quirk to avoid phy initialization in HCD core.

Don't think we need a cover letter for a single patch.

>
> v3:
> Dropped the dt property and binding.
> Checking for dwc3 compatible in xhci to set the quirk XHCI_SKIP_PHY_INIT.
>
> v2:
> Updated the commit descriptions.
> Changed subject prefix from dwc to dwc3.
> Increased props array size.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
  2021-12-01  6:15 ` [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
@ 2021-12-02  3:17   ` Stephen Boyd
  2021-12-14  4:47     ` Sandeep Maheswaram
  2021-12-13 13:57   ` Greg Kroah-Hartman
  1 sibling, 1 reply; 7+ messages in thread
From: Stephen Boyd @ 2021-12-02  3:17 UTC (permalink / raw)
  To: Doug Anderson, Felipe Balbi, Greg Kroah-Hartman, Mathias Nyman,
	Matthias Kaehlcke, Sandeep Maheswaram
  Cc: linux-arm-msm, linux-usb, linux-kernel, quic_pkondeti, quic_ppratap

Quoting Sandeep Maheswaram (2021-11-30 22:15:38)
> 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 core and HCD core.
> DWC3 manages phy in their core drivers.

This looks wrapped weirdly.

> Set this quirk to avoid phy initialization in HCD core.
>
> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>

Any Fixes tag?

> ---
>  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"))

Are we sure that pdev->dev.parent isn't NULL here?

> +               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)) {

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
  2021-12-01  6:15 ` [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
  2021-12-02  3:17   ` Stephen Boyd
@ 2021-12-13 13:57   ` Greg Kroah-Hartman
  1 sibling, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2021-12-13 13:57 UTC (permalink / raw)
  To: Sandeep Maheswaram
  Cc: Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke,
	Mathias Nyman, linux-arm-msm, linux-usb, linux-kernel,
	quic_pkondeti, quic_ppratap

On Wed, Dec 01, 2021 at 11:45:38AM +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 core 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>
> ---
>  drivers/usb/host/xhci-plat.c | 3 +++
>  1 file changed, 3 insertions(+)

What changed from previous versions of this patch?  That goes below the
--- line always, right?

Please fix up and send a v4.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
  2021-12-02  3:17   ` Stephen Boyd
@ 2021-12-14  4:47     ` Sandeep Maheswaram
  2021-12-15  1:02       ` Stephen Boyd
  0 siblings, 1 reply; 7+ messages in thread
From: Sandeep Maheswaram @ 2021-12-14  4:47 UTC (permalink / raw)
  To: Stephen Boyd, Doug Anderson, Felipe Balbi, Greg Kroah-Hartman,
	Mathias Nyman, Matthias Kaehlcke
  Cc: linux-arm-msm, linux-usb, linux-kernel, quic_pkondeti, quic_ppratap


On 12/2/2021 8:47 AM, Stephen Boyd wrote:
> Quoting Sandeep Maheswaram (2021-11-30 22:15:38)
>> 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 core and HCD core.
>> DWC3 manages phy in their core drivers.
> This looks wrapped weirdly.
>
>> Set this quirk to avoid phy initialization in HCD core.
>>
>> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
> Any Fixes tag?
Not sure about the commit id to be used 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"))
> Are we sure that pdev->dev.parent isn't NULL here?

+    if (of_device_is_compatible(to_of_node(sysdev->fwnode), "snps,dwc3"))

Will this be ok ?

>
>> +               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)) {

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
  2021-12-14  4:47     ` Sandeep Maheswaram
@ 2021-12-15  1:02       ` Stephen Boyd
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2021-12-15  1:02 UTC (permalink / raw)
  To: Doug Anderson, Felipe Balbi, Greg Kroah-Hartman, Mathias Nyman,
	Matthias Kaehlcke, Sandeep Maheswaram
  Cc: linux-arm-msm, linux-usb, linux-kernel, quic_pkondeti, quic_ppratap

Quoting Sandeep Maheswaram (2021-12-13 20:47:48)
>
> On 12/2/2021 8:47 AM, Stephen Boyd wrote:
> > Quoting Sandeep Maheswaram (2021-11-30 22:15:38)
> >> 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 core and HCD core.
> >> DWC3 manages phy in their core drivers.
> > This looks wrapped weirdly.
> >
> >> Set this quirk to avoid phy initialization in HCD core.
> >>
> >> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
> > Any Fixes tag?
> Not sure about the commit id to be used here.

Maybe whenever the phy started being initialized twice?

> >
> >> ---
> >>   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"))
> > Are we sure that pdev->dev.parent isn't NULL here?
>
> +    if (of_device_is_compatible(to_of_node(sysdev->fwnode), "snps,dwc3"))
>
> Will this be ok ?

Probably? But I see this function already uses 'sysdev->of_node' so
that's probably all that's necessary assuming sysdev == pdev->dev.parent
in this case.

	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)) {

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-12-15  1:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-01  6:15 [PATCH v3] Skip phy initialization for DWC3 USB Controllers Sandeep Maheswaram
2021-12-01  6:15 ` [PATCH v3] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
2021-12-02  3:17   ` Stephen Boyd
2021-12-14  4:47     ` Sandeep Maheswaram
2021-12-15  1:02       ` Stephen Boyd
2021-12-13 13:57   ` Greg Kroah-Hartman
2021-12-02  3:14 ` [PATCH v3] Skip phy initialization for DWC3 USB Controllers Stephen Boyd

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.