]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
phy: usb: Use slow clock for wake enabled suspend
authorJustin Chen <justinpopo6@gmail.com>
Wed, 5 Oct 2022 21:30:17 +0000 (14:30 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Feb 2025 17:22:26 +0000 (18:22 +0100)
commit 700c44b508020a3ea29d297c677f8d4ab14b7e6a upstream.

The logic was incorrect when switching to slow clock. We want the slow
clock if wake_enabled is set.

Fixes: ae532b2b7aa5 ("phy: usb: Add "wake on" functionality for newer Synopsis XHCI controllers")
Signed-off-by: Justin Chen <justinpopo6@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/1665005418-15807-6-git-send-email-justinpopo6@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c

index fa54da35719f70905ff29d037c54052c7d1e202f..d193ba219219501909a3317477831a4eda770c3e 100644 (file)
@@ -337,13 +337,12 @@ static void usb_uninit_common_7216(struct brcm_usb_init_params *params)
 
        pr_debug("%s\n", __func__);
 
-       if (!params->wake_enabled) {
-               USB_CTRL_SET(ctrl, USB_PM, USB_PWRDN);
-
+       if (params->wake_enabled) {
                /* Switch to using slower clock during suspend to save power */
                USB_CTRL_SET(ctrl, USB_PM, XHC_S2_CLK_SWITCH_EN);
-       } else {
                usb_wake_enable_7216(params, true);
+       } else {
+               USB_CTRL_SET(ctrl, USB_PM, USB_PWRDN);
        }
 }