From: "Théo Lebrun" <theo.lebrun@bootlin.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Roger Quadros <rogerq@kernel.org>, Peter Chen <peter.chen@kernel.org>, Pawel Laszczak <pawell@cadence.com>, Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>, Tero Kristo <kristo@kernel.org> Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "Thomas Petazzoni thomas.petazzoni"@bootlin.com, "Grégory Clement" <gregory.clement@bootlin.com>, "Théo Lebrun" <theo.lebrun@bootlin.com>, "Conor Dooley" <conor.dooley@microchip.com> Subject: [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Date: Mon, 20 Nov 2023 18:06:00 +0100 [thread overview] Message-ID: <20231120-j7200-usb-suspend-v2-0-038c7e4a3df4@bootlin.com> (raw) 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>
WARNING: multiple messages have this Message-ID (diff)
From: "Théo Lebrun" <theo.lebrun@bootlin.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Roger Quadros <rogerq@kernel.org>, Peter Chen <peter.chen@kernel.org>, Pawel Laszczak <pawell@cadence.com>, Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>, Tero Kristo <kristo@kernel.org> Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "Thomas Petazzoni thomas.petazzoni"@bootlin.com, "Grégory Clement" <gregory.clement@bootlin.com>, "Théo Lebrun" <theo.lebrun@bootlin.com>, "Conor Dooley" <conor.dooley@microchip.com> Subject: [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Date: Mon, 20 Nov 2023 18:06:00 +0100 [thread overview] Message-ID: <20231120-j7200-usb-suspend-v2-0-038c7e4a3df4@bootlin.com> (raw) 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> _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2023-11-20 17:06 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-20 17:06 Théo Lebrun [this message] 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:06 ` Théo Lebrun 2023-11-20 17:32 ` Krzysztof Kozlowski 2023-11-20 17:32 ` Krzysztof Kozlowski 2023-11-21 16:53 ` Théo Lebrun 2023-11-21 16:53 ` Théo Lebrun 2023-11-21 17:11 ` Krzysztof Kozlowski 2023-11-21 17:11 ` Krzysztof Kozlowski 2023-11-22 10:46 ` Théo Lebrun 2023-11-22 10:46 ` Théo Lebrun 2023-11-22 12:00 ` Krzysztof Kozlowski 2023-11-22 12:00 ` Krzysztof Kozlowski 2023-11-22 17:14 ` Théo Lebrun 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-20 17:06 ` Théo Lebrun 2023-11-22 23:42 ` Kevin Hilman 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 ` 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:06 ` Théo Lebrun 2023-11-20 17:31 ` Krzysztof Kozlowski 2023-11-20 17:31 ` Krzysztof Kozlowski 2023-11-21 16:48 ` Théo Lebrun 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-20 17:06 ` Théo Lebrun 2023-11-21 10:40 ` Peter Chen 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-20 17:06 ` Théo Lebrun 2023-11-21 16:53 ` Roger Quadros 2023-11-21 16:53 ` Roger Quadros 2023-11-21 17:06 ` Théo Lebrun 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:06 ` Théo Lebrun 2023-11-20 17:32 ` Krzysztof Kozlowski 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-20 17:33 ` Krzysztof Kozlowski 2023-11-22 23:44 ` Kevin Hilman 2023-11-22 23:44 ` Kevin Hilman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20231120-j7200-usb-suspend-v2-0-038c7e4a3df4@bootlin.com \ --to=theo.lebrun@bootlin.com \ --cc="Thomas Petazzoni thomas.petazzoni"@bootlin.com \ --cc=conor+dt@kernel.org \ --cc=conor.dooley@microchip.com \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=gregory.clement@bootlin.com \ --cc=kristo@kernel.org \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=nm@ti.com \ --cc=pawell@cadence.com \ --cc=peter.chen@kernel.org \ --cc=robh+dt@kernel.org \ --cc=rogerq@kernel.org \ --cc=vigneshr@ti.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.