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, "Théo Lebrun" <theo.lebrun@bootlin.com> Subject: [PATCH 0/6] usb: cdns: fix suspend on J7200 by assuming reset on resume Date: Mon, 13 Nov 2023 15:26:55 +0100 [thread overview] Message-ID: <20231113-j7200-usb-suspend-v1-0-ad1ee714835c@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. Both only did their hardware configuration at probe time. We are talking about suspend-to-RAM but also suspend-to-idle; we have power-domains that turn off the controller in the second case which explains why s2idle doesn't work either. For cdns3-ti, we implement suspend & resume procedures only targeting our newly created compatible (ti,j7200-usb). The goal is to avoid breaking other platforms; it's unclear to me if power-domains are toggling at s2idle on those as well. About S2R I don't think it's targeted for those platforms. For the HOST role, we add a quirk flag which gets passed as auxiliary data by our wrapper TI driver. That avoids touching the behavior of other platforms; again I'm unsure what is expected and I wouldn't want to break stuff by re-initializing the role. 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> --- Théo Lebrun (6): dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible usb: cdns3-ti: move reg writes from probe into an init_hw helper usb: cdns3-ti: add suspend/resume procedures for J7200 usb: cdns3: support power-off of controller when in host role usb: cdns3-ti: notify cdns core that hardware resets across suspend on J7200 arm64: dts: ti: k3-j7200: use J7200-specific USB compatible .../devicetree/bindings/usb/ti,j721e-usb.yaml | 1 + arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 2 +- drivers/usb/cdns3/cdns3-ti.c | 141 +++++++++++++++------ drivers/usb/cdns3/core.h | 1 + drivers/usb/cdns3/host.c | 20 +++ 5 files changed, 127 insertions(+), 38 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, "Théo Lebrun" <theo.lebrun@bootlin.com> Subject: [PATCH 0/6] usb: cdns: fix suspend on J7200 by assuming reset on resume Date: Mon, 13 Nov 2023 15:26:55 +0100 [thread overview] Message-ID: <20231113-j7200-usb-suspend-v1-0-ad1ee714835c@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. Both only did their hardware configuration at probe time. We are talking about suspend-to-RAM but also suspend-to-idle; we have power-domains that turn off the controller in the second case which explains why s2idle doesn't work either. For cdns3-ti, we implement suspend & resume procedures only targeting our newly created compatible (ti,j7200-usb). The goal is to avoid breaking other platforms; it's unclear to me if power-domains are toggling at s2idle on those as well. About S2R I don't think it's targeted for those platforms. For the HOST role, we add a quirk flag which gets passed as auxiliary data by our wrapper TI driver. That avoids touching the behavior of other platforms; again I'm unsure what is expected and I wouldn't want to break stuff by re-initializing the role. 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> --- Théo Lebrun (6): dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible usb: cdns3-ti: move reg writes from probe into an init_hw helper usb: cdns3-ti: add suspend/resume procedures for J7200 usb: cdns3: support power-off of controller when in host role usb: cdns3-ti: notify cdns core that hardware resets across suspend on J7200 arm64: dts: ti: k3-j7200: use J7200-specific USB compatible .../devicetree/bindings/usb/ti,j721e-usb.yaml | 1 + arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 2 +- drivers/usb/cdns3/cdns3-ti.c | 141 +++++++++++++++------ drivers/usb/cdns3/core.h | 1 + drivers/usb/cdns3/host.c | 20 +++ 5 files changed, 127 insertions(+), 38 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-13 14:27 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-13 14:26 Théo Lebrun [this message] 2023-11-13 14:26 ` [PATCH 0/6] usb: cdns: fix suspend on J7200 by assuming reset on resume Théo Lebrun 2023-11-13 14:26 ` [PATCH 1/6] dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible Théo Lebrun 2023-11-13 14:26 ` Théo Lebrun 2023-11-13 19:58 ` Conor Dooley 2023-11-13 19:58 ` Conor Dooley 2023-11-13 14:26 ` [PATCH 2/6] usb: cdns3-ti: move reg writes from probe into an init_hw helper Théo Lebrun 2023-11-13 14:26 ` Théo Lebrun 2023-11-15 11:33 ` Roger Quadros 2023-11-15 11:33 ` Roger Quadros 2023-11-15 14:23 ` Théo Lebrun 2023-11-15 14:23 ` Théo Lebrun 2023-11-16 12:00 ` Roger Quadros 2023-11-16 12:00 ` Roger Quadros 2023-11-13 14:26 ` [PATCH 3/6] usb: cdns3-ti: add suspend/resume procedures for J7200 Théo Lebrun 2023-11-13 14:26 ` Théo Lebrun 2023-11-13 15:39 ` Gregory CLEMENT 2023-11-13 15:39 ` Gregory CLEMENT 2023-11-14 11:13 ` Théo Lebrun 2023-11-14 11:13 ` Théo Lebrun 2023-11-15 11:37 ` Roger Quadros 2023-11-15 11:37 ` Roger Quadros 2023-11-15 15:02 ` Théo Lebrun 2023-11-15 15:02 ` Théo Lebrun 2023-11-16 12:40 ` Roger Quadros 2023-11-16 12:40 ` Roger Quadros 2023-11-16 18:56 ` Théo Lebrun 2023-11-16 18:56 ` Théo Lebrun 2023-11-16 21:44 ` Roger Quadros 2023-11-16 21:44 ` Roger Quadros 2023-11-17 10:17 ` Théo Lebrun 2023-11-17 10:17 ` Théo Lebrun 2023-11-17 11:51 ` Roger Quadros 2023-11-17 11:51 ` Roger Quadros 2023-11-17 14:20 ` Théo Lebrun 2023-11-17 14:20 ` Théo Lebrun 2023-11-18 10:41 ` Roger Quadros 2023-11-18 10:41 ` Roger Quadros 2023-11-22 22:23 ` Kevin Hilman 2023-11-22 22:23 ` Kevin Hilman 2023-11-23 9:51 ` Théo Lebrun 2023-11-23 9:51 ` Théo Lebrun 2023-11-26 22:36 ` Kevin Hilman 2023-11-26 22:36 ` Kevin Hilman 2023-11-27 13:25 ` Théo Lebrun 2023-11-27 13:25 ` Théo Lebrun 2023-12-12 18:26 ` Kevin Hilman 2023-12-12 18:26 ` Kevin Hilman 2023-12-12 19:31 ` Alan Stern 2023-12-12 19:31 ` Alan Stern 2023-11-13 14:26 ` [PATCH 4/6] usb: cdns3: support power-off of controller when in host role Théo Lebrun 2023-11-13 14:26 ` Théo Lebrun 2023-11-14 8:38 ` Peter Chen 2023-11-14 8:38 ` Peter Chen 2023-11-14 11:10 ` Théo Lebrun 2023-11-14 11:10 ` Théo Lebrun 2023-11-17 3:38 ` Peter Chen 2023-11-17 3:38 ` Peter Chen 2023-11-17 9:58 ` Théo Lebrun 2023-11-17 9:58 ` Théo Lebrun 2023-11-20 5:44 ` Peter Chen 2023-11-20 5:44 ` Peter Chen 2023-11-13 14:27 ` [PATCH 5/6] usb: cdns3-ti: notify cdns core that hardware resets across suspend on J7200 Théo Lebrun 2023-11-13 14:27 ` Théo Lebrun 2023-11-13 14:27 ` [PATCH 6/6] arm64: dts: ti: k3-j7200: use J7200-specific USB compatible Théo Lebrun 2023-11-13 14:27 ` Théo Lebrun 2023-11-14 10:01 ` Gregory CLEMENT 2023-11-14 10:01 ` Gregory CLEMENT 2023-11-14 11:14 ` Théo Lebrun 2023-11-14 11:14 ` Théo Lebrun
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=20231113-j7200-usb-suspend-v1-0-ad1ee714835c@bootlin.com \ --to=theo.lebrun@bootlin.com \ --cc=conor+dt@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --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.