From: Al Cooper <alcooperx@gmail.com> To: linux-kernel@vger.kernel.org Cc: Al Cooper <alcooperx@gmail.com>, Kishon Vijay Abraham I <kishon@ti.com>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Florian Fainelli <f.fainelli@gmail.com>, bcm-kernel-feedback-list@broadcom.com (maintainer:BROADCOM BCM7XXX ARM ARCHITECTURE), Srinath Mannam <srinath.mannam@broadcom.com>, devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM7XXX ARM ARCHITECTURE) Subject: [PATCH v4 03/13] phy: usb: Put USB phys into IDDQ on suspend to save power in S2 mode Date: Fri, 3 Jan 2020 13:18:01 -0500 [thread overview] Message-ID: <20200103181811.22939-4-alcooperx@gmail.com> (raw) In-Reply-To: <20200103181811.22939-1-alcooperx@gmail.com> Currently the Phy driver will put the USB phys into the max power saving mode (IDDQ) when there is no corresponding XHCI, EHCI or OHCI client (through rmmod, unbind or if the driver is not builtin). This change will also put the Phys into IDDQ mode on suspend so that S2 will get the additional power savings. Signed-off-by: Al Cooper <alcooperx@gmail.com> --- drivers/phy/broadcom/phy-brcm-usb-init.c | 2 -- drivers/phy/broadcom/phy-brcm-usb.c | 11 +++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c index bd473d12ab28..ac7f7995c11f 100644 --- a/drivers/phy/broadcom/phy-brcm-usb-init.c +++ b/drivers/phy/broadcom/phy-brcm-usb-init.c @@ -1002,8 +1002,6 @@ void brcm_usb_uninit_common(struct brcm_usb_init_params *params) void brcm_usb_uninit_eohci(struct brcm_usb_init_params *params) { - if (USB_CTRL_MASK_FAMILY(params, USB_PM, USB20_HC_RESETB)) - USB_CTRL_UNSET_FAMILY(params, USB_PM, USB20_HC_RESETB); } void brcm_usb_uninit_xhci(struct brcm_usb_init_params *params) diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c index 217e3702ef4e..634afc803778 100644 --- a/drivers/phy/broadcom/phy-brcm-usb.c +++ b/drivers/phy/broadcom/phy-brcm-usb.c @@ -381,8 +381,15 @@ static int brcm_usb_phy_suspend(struct device *dev) struct brcm_usb_phy_data *priv = dev_get_drvdata(dev); if (priv->init_count) { - clk_disable_unprepare(priv->usb_20_clk); - clk_disable_unprepare(priv->usb_30_clk); + if (priv->phys[BRCM_USB_PHY_3_0].inited) + brcm_usb_uninit_xhci(&priv->ini); + if (priv->phys[BRCM_USB_PHY_2_0].inited) + brcm_usb_uninit_eohci(&priv->ini); + brcm_usb_uninit_common(&priv->ini); + if (priv->phys[BRCM_USB_PHY_3_0].inited) + clk_disable_unprepare(priv->usb_30_clk); + if (priv->phys[BRCM_USB_PHY_2_0].inited) + clk_disable_unprepare(priv->usb_20_clk); } return 0; } -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Al Cooper <alcooperx@gmail.com> To: linux-kernel@vger.kernel.org Cc: Mark Rutland <mark.rutland@arm.com>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, Florian Fainelli <f.fainelli@gmail.com>, Al Cooper <alcooperx@gmail.com>, Kishon Vijay Abraham I <kishon@ti.com>, Rob Herring <robh+dt@kernel.org>, "maintainer:BROADCOM BCM7XXX ARM ARCHITECTURE" <bcm-kernel-feedback-list@broadcom.com>, Srinath Mannam <srinath.mannam@broadcom.com>, "moderated list:BROADCOM BCM7XXX ARM ARCHITECTURE" <linux-arm-kernel@lists.infradead.org> Subject: [PATCH v4 03/13] phy: usb: Put USB phys into IDDQ on suspend to save power in S2 mode Date: Fri, 3 Jan 2020 13:18:01 -0500 [thread overview] Message-ID: <20200103181811.22939-4-alcooperx@gmail.com> (raw) In-Reply-To: <20200103181811.22939-1-alcooperx@gmail.com> Currently the Phy driver will put the USB phys into the max power saving mode (IDDQ) when there is no corresponding XHCI, EHCI or OHCI client (through rmmod, unbind or if the driver is not builtin). This change will also put the Phys into IDDQ mode on suspend so that S2 will get the additional power savings. Signed-off-by: Al Cooper <alcooperx@gmail.com> --- drivers/phy/broadcom/phy-brcm-usb-init.c | 2 -- drivers/phy/broadcom/phy-brcm-usb.c | 11 +++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c index bd473d12ab28..ac7f7995c11f 100644 --- a/drivers/phy/broadcom/phy-brcm-usb-init.c +++ b/drivers/phy/broadcom/phy-brcm-usb-init.c @@ -1002,8 +1002,6 @@ void brcm_usb_uninit_common(struct brcm_usb_init_params *params) void brcm_usb_uninit_eohci(struct brcm_usb_init_params *params) { - if (USB_CTRL_MASK_FAMILY(params, USB_PM, USB20_HC_RESETB)) - USB_CTRL_UNSET_FAMILY(params, USB_PM, USB20_HC_RESETB); } void brcm_usb_uninit_xhci(struct brcm_usb_init_params *params) diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c index 217e3702ef4e..634afc803778 100644 --- a/drivers/phy/broadcom/phy-brcm-usb.c +++ b/drivers/phy/broadcom/phy-brcm-usb.c @@ -381,8 +381,15 @@ static int brcm_usb_phy_suspend(struct device *dev) struct brcm_usb_phy_data *priv = dev_get_drvdata(dev); if (priv->init_count) { - clk_disable_unprepare(priv->usb_20_clk); - clk_disable_unprepare(priv->usb_30_clk); + if (priv->phys[BRCM_USB_PHY_3_0].inited) + brcm_usb_uninit_xhci(&priv->ini); + if (priv->phys[BRCM_USB_PHY_2_0].inited) + brcm_usb_uninit_eohci(&priv->ini); + brcm_usb_uninit_common(&priv->ini); + if (priv->phys[BRCM_USB_PHY_3_0].inited) + clk_disable_unprepare(priv->usb_30_clk); + if (priv->phys[BRCM_USB_PHY_2_0].inited) + clk_disable_unprepare(priv->usb_20_clk); } return 0; } -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-01-03 18:19 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-03 18:17 [PATCH v4 00/13] phy: usb: Updates to Broadcom STB USB PHY driver Al Cooper 2020-01-03 18:17 ` Al Cooper 2020-01-03 18:17 ` [PATCH v4 01/13] phy: usb: EHCI DMA may lose a burst of DMA data for 7255xA0 family Al Cooper 2020-01-03 18:17 ` Al Cooper 2020-01-03 18:22 ` Florian Fainelli 2020-01-03 18:22 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 02/13] phy: usb: Get all drivers that use USB clks using correct enable/disable Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:23 ` Florian Fainelli 2020-01-03 18:23 ` Florian Fainelli 2020-01-03 18:18 ` Al Cooper [this message] 2020-01-03 18:18 ` [PATCH v4 03/13] phy: usb: Put USB phys into IDDQ on suspend to save power in S2 mode Al Cooper 2020-01-03 18:23 ` Florian Fainelli 2020-01-03 18:23 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 04/13] phy: usb: Add "wake on" functionality Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:24 ` Florian Fainelli 2020-01-03 18:24 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 05/13] phy: usb: Restructure in preparation for adding 7216 USB support Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:25 ` Florian Fainelli 2020-01-03 18:25 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 06/13] dt-bindings: Add Broadcom STB USB PHY binding document Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:25 ` Florian Fainelli 2020-01-03 18:25 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 07/13] phy: usb: Add support for new Synopsys USB controller on the 7216 Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:26 ` Florian Fainelli 2020-01-03 18:26 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 08/13] phy: usb: Add support for new Synopsys USB controller on the 7211b0 Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:26 ` Florian Fainelli 2020-01-03 18:26 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 09/13] phy: usb: fix driver to defer on clk_get defer Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:26 ` Florian Fainelli 2020-01-03 18:26 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 10/13] phy: usb: PHY's MDIO registers not accessible without device installed Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:27 ` Florian Fainelli 2020-01-03 18:27 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 11/13] phy: usb: bdc: Fix occasional failure with BDC on 7211 Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:27 ` Florian Fainelli 2020-01-03 18:27 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 12/13] phy: usb: USB driver is crashing during S3 resume on 7216 Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:28 ` Florian Fainelli 2020-01-03 18:28 ` Florian Fainelli 2020-01-03 18:18 ` [PATCH v4 13/13] phy: usb: Add support for wake and USB low power mode for 7211 S2/S5 Al Cooper 2020-01-03 18:18 ` Al Cooper 2020-01-03 18:28 ` Florian Fainelli 2020-01-03 18:28 ` Florian Fainelli 2020-01-06 5:25 ` [PATCH v4 00/13] phy: usb: Updates to Broadcom STB USB PHY driver Kishon Vijay Abraham I 2020-01-06 5:25 ` Kishon Vijay Abraham I
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=20200103181811.22939-4-alcooperx@gmail.com \ --to=alcooperx@gmail.com \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=devicetree@vger.kernel.org \ --cc=f.fainelli@gmail.com \ --cc=kishon@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=robh+dt@kernel.org \ --cc=srinath.mannam@broadcom.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.