From: Roger Quadros <rogerq@kernel.org>
To: gregkh@linuxfoundation.org, Thinh.Nguyen@synopsys.com,
d-gole@ti.com, msp@baylibre.com
Cc: stable@vger.kernel.org
Subject: Re: FAILED: patch "[PATCH] usb: dwc3: core: Fix system suspend on TI AM62 platforms" failed to apply to 5.10-stable tree
Date: Tue, 22 Oct 2024 09:37:30 +0300 [thread overview]
Message-ID: <c8c33676-d05b-4cbb-974e-398784cb8b8a@kernel.org> (raw)
In-Reply-To: <2024102152-salvage-pursuable-3b7c@gregkh>
Hi Greg,
Patch was marked for 6.9+ but I added a 'v' in the tag and that's probably why it
was attempted for earlier trees.
> Cc: stable@vger.kernel.org # v6.9+
cheers,
-roger
On 21/10/2024 10:52, gregkh@linuxfoundation.org wrote:
>
> The patch below does not apply to the 5.10-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
>
> To reproduce the conflict and resubmit, you may use the following commands:
>
> git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
> git checkout FETCH_HEAD
> git cherry-pick -x 705e3ce37bccdf2ed6f848356ff355f480d51a91
> # <resolve conflicts, build, test, etc.>
> git commit -s
> git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2024102152-salvage-pursuable-3b7c@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
>
> Possible dependencies:
>
>
>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 705e3ce37bccdf2ed6f848356ff355f480d51a91 Mon Sep 17 00:00:00 2001
> From: Roger Quadros <rogerq@kernel.org>
> Date: Fri, 11 Oct 2024 13:53:24 +0300
> Subject: [PATCH] usb: dwc3: core: Fix system suspend on TI AM62 platforms
>
> Since commit 6d735722063a ("usb: dwc3: core: Prevent phy suspend during init"),
> system suspend is broken on AM62 TI platforms.
>
> Before that commit, both DWC3_GUSB3PIPECTL_SUSPHY and DWC3_GUSB2PHYCFG_SUSPHY
> bits (hence forth called 2 SUSPHY bits) were being set during core
> initialization and even during core re-initialization after a system
> suspend/resume.
>
> These bits are required to be set for system suspend/resume to work correctly
> on AM62 platforms.
>
> Since that commit, the 2 SUSPHY bits are not set for DEVICE/OTG mode if gadget
> driver is not loaded and started.
> For Host mode, the 2 SUSPHY bits are set before the first system suspend but
> get cleared at system resume during core re-init and are never set again.
>
> This patch resovles these two issues by ensuring the 2 SUSPHY bits are set
> before system suspend and restored to the original state during system resume.
>
> Cc: stable@vger.kernel.org # v6.9+
> Fixes: 6d735722063a ("usb: dwc3: core: Prevent phy suspend during init")
> Link: https://lore.kernel.org/all/1519dbe7-73b6-4afc-bfe3-23f4f75d772f@kernel.org/
> Signed-off-by: Roger Quadros <rogerq@kernel.org>
> Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
> Tested-by: Markus Schneider-Pargmann <msp@baylibre.com>
> Reviewed-by: Dhruva Gole <d-gole@ti.com>
> Link: https://lore.kernel.org/r/20241011-am62-lpm-usb-v3-1-562d445625b5@kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 21740e2b8f07..427e5660f87c 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -2342,6 +2342,11 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
> u32 reg;
> int i;
>
> + dwc->susphy_state = (dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)) &
> + DWC3_GUSB2PHYCFG_SUSPHY) ||
> + (dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)) &
> + DWC3_GUSB3PIPECTL_SUSPHY);
> +
> switch (dwc->current_dr_role) {
> case DWC3_GCTL_PRTCAP_DEVICE:
> if (pm_runtime_suspended(dwc->dev))
> @@ -2393,6 +2398,15 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
> break;
> }
>
> + if (!PMSG_IS_AUTO(msg)) {
> + /*
> + * TI AM62 platform requires SUSPHY to be
> + * enabled for system suspend to work.
> + */
> + if (!dwc->susphy_state)
> + dwc3_enable_susphy(dwc, true);
> + }
> +
> return 0;
> }
>
> @@ -2460,6 +2474,11 @@ static int dwc3_resume_common(struct dwc3 *dwc, pm_message_t msg)
> break;
> }
>
> + if (!PMSG_IS_AUTO(msg)) {
> + /* restore SUSPHY state to that before system suspend. */
> + dwc3_enable_susphy(dwc, dwc->susphy_state);
> + }
> +
> return 0;
> }
>
> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> index 9c508e0c5cdf..eab81dfdcc35 100644
> --- a/drivers/usb/dwc3/core.h
> +++ b/drivers/usb/dwc3/core.h
> @@ -1150,6 +1150,8 @@ struct dwc3_scratchpad_array {
> * @sys_wakeup: set if the device may do system wakeup.
> * @wakeup_configured: set if the device is configured for remote wakeup.
> * @suspended: set to track suspend event due to U3/L2.
> + * @susphy_state: state of DWC3_GUSB2PHYCFG_SUSPHY + DWC3_GUSB3PIPECTL_SUSPHY
> + * before PM suspend.
> * @imod_interval: set the interrupt moderation interval in 250ns
> * increments or 0 to disable.
> * @max_cfg_eps: current max number of IN eps used across all USB configs.
> @@ -1382,6 +1384,7 @@ struct dwc3 {
> unsigned sys_wakeup:1;
> unsigned wakeup_configured:1;
> unsigned suspended:1;
> + unsigned susphy_state:1;
>
> u16 imod_interval;
>
>
next prev parent reply other threads:[~2024-10-22 6:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-21 7:52 FAILED: patch "[PATCH] usb: dwc3: core: Fix system suspend on TI AM62 platforms" failed to apply to 5.10-stable tree gregkh
2024-10-22 6:37 ` Roger Quadros [this message]
2024-10-22 6:55 ` Greg KH
2024-10-22 7:07 ` Roger Quadros
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=c8c33676-d05b-4cbb-974e-398784cb8b8a@kernel.org \
--to=rogerq@kernel.org \
--cc=Thinh.Nguyen@synopsys.com \
--cc=d-gole@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=msp@baylibre.com \
--cc=stable@vger.kernel.org \
/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: link
Be 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.