devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume
@ 2023-11-20 17:06 Théo Lebrun
  2023-11-20 17:06 ` [PATCH v2 1/7] dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible Théo Lebrun
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Théo Lebrun @ 2023-11-20 17:06 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Roger Quadros, Peter Chen, Pawel Laszczak,
	Nishanth Menon, Vignesh Raghavendra, Tero Kristo
  Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel,
	"Thomas Petazzoni thomas.petazzoni", Grégory Clement,
	Théo Lebrun, Conor Dooley

Hi,

Suspend on the TI J7200 platform is broken currently. There are two
components that need to be patched so that they assume reset on
resume: (1) the TI wrapper cdns3-ti & (2) the HOST role of the
controller.

About (1): the TI wrapper only did its hardware configuration at probe
time. Update so that it is done at resume on J7200 SoC.

About (2): signal from cdns3-ti to cdns3 host to xHCI that the
controller resets on resume. This way we avoid the following warning:

   xhci-hcd xhci-hcd.1.auto: xHC error in resume, USBSTS 0x401, Reinit

Strictly speaking (2) is not required to have working suspend on J7200;
its only goal is to silence this warning.

Those patches have been tested on the TI J7200 EVM GP. No need to
mention that other patches are required for S2R to work, but those will
be sent later down the road. Those USB patches are rather standalone.

Thanks,
Théo

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Changes in v2:
- Remove runtime PM from cdns3-ti; it brings nothing. That means our
  cdns3-ti suspend/resume patch is simpler; there is no need to handle
  runtime PM at suspend/resume.
- Do not add cdns3 host role suspend/resume callbacks; they are not
  needed as core detects reset on resume & calls cdns_drd_host_on when
  needed.
- cdns3-ti: Move usb2_refclk_rate_code assignment closer to the value
  computation.
- cdns3/host.c: do not pass XHCI_SUSPEND_RESUME_CLKS quirk to xHCI; it
  is unneeded on our platform.
- Link to v1: https://lore.kernel.org/r/20231113-j7200-usb-suspend-v1-0-ad1ee714835c@bootlin.com

---
Théo Lebrun (7):
      dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible
      usb: cdns3-ti: remove runtime PM
      usb: cdns3-ti: move reg writes from probe into an init_hw helper
      usb: cdns3-ti: add suspend/resume procedures for J7200
      usb: cdns3: add quirk to platform data for reset-on-resume
      usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform
      arm64: dts: ti: k3-j7200: use J7200-specific USB compatible

 .../devicetree/bindings/usb/ti,j721e-usb.yaml      |   4 +
 arch/arm64/boot/dts/ti/k3-j7200-main.dtsi          |   2 +-
 drivers/usb/cdns3/cdns3-ti.c                       | 134 +++++++++++++--------
 drivers/usb/cdns3/core.h                           |   1 +
 drivers/usb/cdns3/host.c                           |   3 +
 5 files changed, 90 insertions(+), 54 deletions(-)
---
base-commit: 1d42d5c8f1ca11106579dcaadef4161fee03419e
change-id: 20231113-j7200-usb-suspend-2a47f2281e04

Best regards,
-- 
Théo Lebrun <theo.lebrun@bootlin.com>


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

end of thread, other threads:[~2023-11-22 23:44 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-20 17:06 [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Théo Lebrun
2023-11-20 17:06 ` [PATCH v2 1/7] dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible Théo Lebrun
2023-11-20 17:32   ` Krzysztof Kozlowski
2023-11-21 16:53     ` Théo Lebrun
2023-11-21 17:11       ` Krzysztof Kozlowski
2023-11-22 10:46         ` Théo Lebrun
2023-11-22 12:00           ` Krzysztof Kozlowski
2023-11-22 17:14             ` Théo Lebrun
2023-11-20 17:06 ` [PATCH v2 2/7] usb: cdns3-ti: remove runtime PM Théo Lebrun
2023-11-22 23:42   ` Kevin Hilman
2023-11-20 17:06 ` [PATCH v2 3/7] usb: cdns3-ti: move reg writes from probe into an init_hw helper Théo Lebrun
2023-11-20 17:06 ` [PATCH v2 4/7] usb: cdns3-ti: add suspend/resume procedures for J7200 Théo Lebrun
2023-11-20 17:31   ` Krzysztof Kozlowski
2023-11-21 16:48     ` Théo Lebrun
2023-11-20 17:06 ` [PATCH v2 5/7] usb: cdns3: add quirk to platform data for reset-on-resume Théo Lebrun
2023-11-21 10:40   ` Peter Chen
2023-11-20 17:06 ` [PATCH v2 6/7] usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform Théo Lebrun
2023-11-21 16:53   ` Roger Quadros
2023-11-21 17:06     ` Théo Lebrun
2023-11-20 17:06 ` [PATCH v2 7/7] arm64: dts: ti: k3-j7200: use J7200-specific USB compatible Théo Lebrun
2023-11-20 17:32   ` Krzysztof Kozlowski
2023-11-20 17:33 ` [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Krzysztof Kozlowski
2023-11-22 23:44 ` Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).