[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <08e380fe-91e5-49a4-8fc0-8ec64a7c89a8@linaro.org>
Date: Fri, 2 Jan 2026 09:49:26 +0000
From: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
To: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>,
Bjorn Andersson <andersson@...nel.org>,
Michael Turquette <mturquette@...libre.com>, Stephen Boyd
<sboyd@...nel.org>, Taniya Das <quic_tdas@...cinc.com>,
Konrad Dybcio <konradybcio@...nel.org>, Bartosz Golaszewski
<brgl@...nel.org>, Shazad Hussain <quic_shazhuss@...cinc.com>,
Sibi Sankar <sibi.sankar@....qualcomm.com>,
Melody Olvera <quic_molvera@...cinc.com>, Dmitry Baryshkov
<lumag@...nel.org>, Taniya Das <taniya.das@....qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
Imran Shaik <quic_imrashai@...cinc.com>, Abel Vesa <abelvesa@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-clk@...r.kernel.org,
linux-kernel@...r.kernel.org, Rajendra Nayak <quic_rjendra@...cinc.com>,
manivannan.sadhasivam@....qualcomm.com, stable@...r.kernel.org
Subject: Re: [PATCH 6/7] clk: qcom: gcc-x1e80100: Do not turn off PCIe GDSCs
during gdsc_disable()
On 02/01/2026 09:43, Krishna Chaitanya Chundru wrote:
> With PWRSTS_OFF_ON, PCIe GDSCs are turned off during gdsc_disable(). This
> can happen during scenarios such as system suspend and breaks the resume
> of PCIe controllers from suspend.
>
> So use PWRSTS_RET_ON to indicate the GDSC driver to not turn off the GDSCs
> during gdsc_disable() and allow the hardware to transition the GDSCs to
> retention when the parent domain enters low power state during system
> suspend.
>
> Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
> Cc: stable@...r.kernel.org
> Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
> ---
> drivers/clk/qcom/gcc-x1e80100.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
> index e46e65e631513e315de2f663f3dab73e1eb70604..d659d988660ea5e548fcae6f9f2a9a25081e6dda 100644
> --- a/drivers/clk/qcom/gcc-x1e80100.c
> +++ b/drivers/clk/qcom/gcc-x1e80100.c
> @@ -6490,7 +6490,7 @@ static struct gdsc gcc_pcie_0_tunnel_gdsc = {
> .pd = {
> .name = "gcc_pcie_0_tunnel_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6502,7 +6502,7 @@ static struct gdsc gcc_pcie_1_tunnel_gdsc = {
> .pd = {
> .name = "gcc_pcie_1_tunnel_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6514,7 +6514,7 @@ static struct gdsc gcc_pcie_2_tunnel_gdsc = {
> .pd = {
> .name = "gcc_pcie_2_tunnel_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6526,7 +6526,7 @@ static struct gdsc gcc_pcie_3_gdsc = {
> .pd = {
> .name = "gcc_pcie_3_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6550,7 +6550,7 @@ static struct gdsc gcc_pcie_4_gdsc = {
> .pd = {
> .name = "gcc_pcie_4_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6574,7 +6574,7 @@ static struct gdsc gcc_pcie_5_gdsc = {
> .pd = {
> .name = "gcc_pcie_5_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6610,7 +6610,7 @@ static struct gdsc gcc_pcie_6a_gdsc = {
> .pd = {
> .name = "gcc_pcie_6a_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
> @@ -6622,7 +6622,7 @@ static struct gdsc gcc_pcie_6b_gdsc = {
> .pd = {
> .name = "gcc_pcie_6b_gdsc",
> },
> - .pwrsts = PWRSTS_OFF_ON,
> + .pwrsts = PWRSTS_RET_ON,
> .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
> };
>
>
Retitle patch "Switch PCIe GDSCs to retention mode" you're really
telling firmware to switch these GDSCs to retention mode in suspend -
"power collapse" might be a better word.
Anyway I think you should switch from a "don't switch off" to a positive
and more accurate description of what you're doing which is switching
the GDSCs to retention mode.
With that
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
For the series.
---
bod
Powered by blists - more mailing lists