stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/8] clk: qcom: camcc-sc7180: fix async resume during probe
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
@ 2023-07-18 13:28 ` Johan Hovold
  2023-07-18 13:28 ` [PATCH 2/8] clk: qcom: dispcc-sm8450: fix runtime PM imbalance on probe errors Johan Hovold
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:28 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable

To make sure that the controller is runtime resumed and its power domain
is enabled before accessing its registers during probe, the synchronous
runtime PM interface must be used.

Fixes: 8d4025943e13 ("clk: qcom: camcc-sc7180: Use runtime PM ops instead of clk ones")
Cc: stable@vger.kernel.org      # 5.11
Cc: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/camcc-sc7180.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/camcc-sc7180.c b/drivers/clk/qcom/camcc-sc7180.c
index 8a4ba7a19ed1..6f56bdbf0204 100644
--- a/drivers/clk/qcom/camcc-sc7180.c
+++ b/drivers/clk/qcom/camcc-sc7180.c
@@ -1664,7 +1664,7 @@ static int cam_cc_sc7180_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	ret = pm_runtime_get(&pdev->dev);
+	ret = pm_runtime_resume_and_get(&pdev->dev);
 	if (ret)
 		return ret;
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/8] clk: qcom: dispcc-sm8450: fix runtime PM imbalance on probe errors
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
  2023-07-18 13:28 ` [PATCH 1/8] clk: qcom: camcc-sc7180: fix async resume during probe Johan Hovold
@ 2023-07-18 13:28 ` Johan Hovold
  2023-07-18 13:28 ` [PATCH 3/8] clk: qcom: dispcc-sm8550: " Johan Hovold
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:28 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable,
	Dmitry Baryshkov

Make sure to decrement the runtime PM usage count before returning in
case regmap initialisation fails.

Fixes: 16fb89f92ec4 ("clk: qcom: Add support for Display Clock Controller on SM8450")
Cc: stable@vger.kernel.org      # 6.1
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/dispcc-sm8450.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/qcom/dispcc-sm8450.c b/drivers/clk/qcom/dispcc-sm8450.c
index adbfd30bfc96..84db4ff5485a 100644
--- a/drivers/clk/qcom/dispcc-sm8450.c
+++ b/drivers/clk/qcom/dispcc-sm8450.c
@@ -1776,8 +1776,10 @@ static int disp_cc_sm8450_probe(struct platform_device *pdev)
 		return ret;
 
 	regmap = qcom_cc_map(pdev, &disp_cc_sm8450_desc);
-	if (IS_ERR(regmap))
-		return PTR_ERR(regmap);
+	if (IS_ERR(regmap)) {
+		ret = PTR_ERR(regmap);
+		goto err_put_rpm;
+	}
 
 	clk_lucid_evo_pll_configure(&disp_cc_pll0, regmap, &disp_cc_pll0_config);
 	clk_lucid_evo_pll_configure(&disp_cc_pll1, regmap, &disp_cc_pll1_config);
@@ -1792,9 +1794,16 @@ static int disp_cc_sm8450_probe(struct platform_device *pdev)
 	regmap_update_bits(regmap, 0xe05c, BIT(0), BIT(0));
 
 	ret = qcom_cc_really_probe(pdev, &disp_cc_sm8450_desc, regmap);
+	if (ret)
+		goto err_put_rpm;
 
 	pm_runtime_put(&pdev->dev);
 
+	return 0;
+
+err_put_rpm:
+	pm_runtime_put_sync(&pdev->dev);
+
 	return ret;
 }
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/8] clk: qcom: dispcc-sm8550: fix runtime PM imbalance on probe errors
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
  2023-07-18 13:28 ` [PATCH 1/8] clk: qcom: camcc-sc7180: fix async resume during probe Johan Hovold
  2023-07-18 13:28 ` [PATCH 2/8] clk: qcom: dispcc-sm8450: fix runtime PM imbalance on probe errors Johan Hovold
@ 2023-07-18 13:28 ` Johan Hovold
  2023-07-18 13:28 ` [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe Johan Hovold
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:28 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable,
	Neil Armstrong

Make sure to decrement the runtime PM usage count before returning in
case regmap initialisation fails.

Fixes: 90114ca11476 ("clk: qcom: add SM8550 DISPCC driver")
Cc: stable@vger.kernel.org      # 6.3
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/dispcc-sm8550.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/qcom/dispcc-sm8550.c b/drivers/clk/qcom/dispcc-sm8550.c
index 1e5a11081860..b2fae9001ff2 100644
--- a/drivers/clk/qcom/dispcc-sm8550.c
+++ b/drivers/clk/qcom/dispcc-sm8550.c
@@ -1761,8 +1761,10 @@ static int disp_cc_sm8550_probe(struct platform_device *pdev)
 		return ret;
 
 	regmap = qcom_cc_map(pdev, &disp_cc_sm8550_desc);
-	if (IS_ERR(regmap))
-		return PTR_ERR(regmap);
+	if (IS_ERR(regmap)) {
+		ret = PTR_ERR(regmap);
+		goto err_put_rpm;
+	}
 
 	clk_lucid_evo_pll_configure(&disp_cc_pll0, regmap, &disp_cc_pll0_config);
 	clk_lucid_evo_pll_configure(&disp_cc_pll1, regmap, &disp_cc_pll1_config);
@@ -1777,9 +1779,16 @@ static int disp_cc_sm8550_probe(struct platform_device *pdev)
 	regmap_update_bits(regmap, 0xe054, BIT(0), BIT(0));
 
 	ret = qcom_cc_really_probe(pdev, &disp_cc_sm8550_desc, regmap);
+	if (ret)
+		goto err_put_rpm;
 
 	pm_runtime_put(&pdev->dev);
 
+	return 0;
+
+err_put_rpm:
+	pm_runtime_put_sync(&pdev->dev);
+
 	return ret;
 }
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
                   ` (2 preceding siblings ...)
  2023-07-18 13:28 ` [PATCH 3/8] clk: qcom: dispcc-sm8550: " Johan Hovold
@ 2023-07-18 13:28 ` Johan Hovold
  2023-07-18 14:58   ` Bjorn Andersson
  2023-07-18 13:29 ` [PATCH 6/8] clk: qcom: q6sstop-qcs404: " Johan Hovold
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:28 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable,
	Taniya Das

Drivers that enable runtime PM must make sure that the controller is
runtime resumed before accessing its registers to prevent the power
domain from being disabled.

Fixes: 4ab43d171181 ("clk: qcom: Add lpass clock controller driver for SC7280")
Cc: stable@vger.kernel.org      # 5.16
Cc: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/lpasscc-sc7280.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/clk/qcom/lpasscc-sc7280.c b/drivers/clk/qcom/lpasscc-sc7280.c
index 0df2b29e95e3..e6b815aec46a 100644
--- a/drivers/clk/qcom/lpasscc-sc7280.c
+++ b/drivers/clk/qcom/lpasscc-sc7280.c
@@ -118,9 +118,13 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
 	ret = pm_clk_add(&pdev->dev, "iface");
 	if (ret < 0) {
 		dev_err(&pdev->dev, "failed to acquire iface clock\n");
-		goto destroy_pm_clk;
+		goto err_destroy_pm_clk;
 	}
 
+	ret = pm_runtime_resume_and_get(&pdev->dev);
+	if (ret)
+		goto err_destroy_pm_clk;
+
 	if (!of_property_read_bool(pdev->dev.of_node, "qcom,adsp-pil-mode")) {
 		lpass_regmap_config.name = "qdsp6ss";
 		lpass_regmap_config.max_register = 0x3f;
@@ -128,7 +132,7 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
 
 		ret = qcom_cc_probe_by_index(pdev, 0, desc);
 		if (ret)
-			goto destroy_pm_clk;
+			goto err_put_rpm;
 	}
 
 	lpass_regmap_config.name = "top_cc";
@@ -137,11 +141,15 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
 
 	ret = qcom_cc_probe_by_index(pdev, 1, desc);
 	if (ret)
-		goto destroy_pm_clk;
+		goto err_put_rpm;
+
+	pm_runtime_put(&pdev->dev);
 
 	return 0;
 
-destroy_pm_clk:
+err_put_rpm:
+	pm_runtime_put_sync(&pdev->dev);
+err_destroy_pm_clk:
 	pm_clk_destroy(&pdev->dev);
 
 	return ret;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 6/8] clk: qcom: q6sstop-qcs404: fix missing resume during probe
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
                   ` (3 preceding siblings ...)
  2023-07-18 13:28 ` [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe Johan Hovold
@ 2023-07-18 13:29 ` Johan Hovold
  2023-07-18 13:29 ` [PATCH 7/8] clk: qcom: mss-sc7180: " Johan Hovold
  2023-07-18 13:29 ` [PATCH 8/8] clk: qcom: turingcc-qcs404: " Johan Hovold
  6 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable

Drivers that enable runtime PM must make sure that the controller is
runtime resumed before accessing its registers to prevent the power
domain from being disabled.

Fixes: 6cdef2738db0 ("clk: qcom: Add Q6SSTOP clock controller for QCS404")
Cc: stable@vger.kernel.org      # 5.5
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/q6sstop-qcs404.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/qcom/q6sstop-qcs404.c b/drivers/clk/qcom/q6sstop-qcs404.c
index 780074e05841..26e2d63614ac 100644
--- a/drivers/clk/qcom/q6sstop-qcs404.c
+++ b/drivers/clk/qcom/q6sstop-qcs404.c
@@ -174,21 +174,32 @@ static int q6sstopcc_qcs404_probe(struct platform_device *pdev)
 		return ret;
 	}
 
+	ret = pm_runtime_resume_and_get(&pdev->dev);
+	if (ret)
+		return ret;
+
 	q6sstop_regmap_config.name = "q6sstop_tcsr";
 	desc = &tcsr_qcs404_desc;
 
 	ret = qcom_cc_probe_by_index(pdev, 1, desc);
 	if (ret)
-		return ret;
+		goto err_put_rpm;
 
 	q6sstop_regmap_config.name = "q6sstop_cc";
 	desc = &q6sstop_qcs404_desc;
 
 	ret = qcom_cc_probe_by_index(pdev, 0, desc);
 	if (ret)
-		return ret;
+		goto err_put_rpm;
+
+	pm_runtime_put(&pdev->dev);
 
 	return 0;
+
+err_put_rpm:
+	pm_runtime_put_sync(&pdev->dev);
+
+	return ret;
 }
 
 static const struct dev_pm_ops q6sstopcc_pm_ops = {
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 7/8] clk: qcom: mss-sc7180: fix missing resume during probe
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
                   ` (4 preceding siblings ...)
  2023-07-18 13:29 ` [PATCH 6/8] clk: qcom: q6sstop-qcs404: " Johan Hovold
@ 2023-07-18 13:29 ` Johan Hovold
  2023-07-18 13:29 ` [PATCH 8/8] clk: qcom: turingcc-qcs404: " Johan Hovold
  6 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable,
	Taniya Das

Drivers that enable runtime PM must make sure that the controller is
runtime resumed before accessing its registers to prevent the power
domain from being disabled.

Fixes: 8def929c4097 ("clk: qcom: Add modem clock controller driver for SC7180")
Cc: stable@vger.kernel.org      # 5.7
Cc: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/mss-sc7180.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/mss-sc7180.c b/drivers/clk/qcom/mss-sc7180.c
index 5a1407440662..d106bc65470e 100644
--- a/drivers/clk/qcom/mss-sc7180.c
+++ b/drivers/clk/qcom/mss-sc7180.c
@@ -87,11 +87,22 @@ static int mss_sc7180_probe(struct platform_device *pdev)
 		return ret;
 	}
 
+	ret = pm_runtime_resume_and_get(&pdev->dev);
+	if (ret)
+		return ret;
+
 	ret = qcom_cc_probe(pdev, &mss_sc7180_desc);
 	if (ret < 0)
-		return ret;
+		goto err_put_rpm;
+
+	pm_runtime_put(&pdev->dev);
 
 	return 0;
+
+err_put_rpm:
+	pm_runtime_put_sync(&pdev->dev);
+
+	return ret;
 }
 
 static const struct dev_pm_ops mss_sc7180_pm_ops = {
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 8/8] clk: qcom: turingcc-qcs404: fix missing resume during probe
       [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
                   ` (5 preceding siblings ...)
  2023-07-18 13:29 ` [PATCH 7/8] clk: qcom: mss-sc7180: " Johan Hovold
@ 2023-07-18 13:29 ` Johan Hovold
  6 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 13:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, Johan Hovold, stable

Drivers that enable runtime PM must make sure that the controller is
runtime resumed before accessing its registers to prevent the power
domain from being disabled.

Fixes: 892df0191b29 ("clk: qcom: Add QCS404 TuringCC")
Cc: stable@vger.kernel.org      # 5.2
Cc: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/clk/qcom/turingcc-qcs404.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/turingcc-qcs404.c b/drivers/clk/qcom/turingcc-qcs404.c
index 43184459228f..2cd288d6c3e4 100644
--- a/drivers/clk/qcom/turingcc-qcs404.c
+++ b/drivers/clk/qcom/turingcc-qcs404.c
@@ -125,11 +125,22 @@ static int turingcc_probe(struct platform_device *pdev)
 		return ret;
 	}
 
+	ret = pm_runtime_resume_and_get(&pdev->dev);
+	if (ret)
+		return ret;
+
 	ret = qcom_cc_probe(pdev, &turingcc_desc);
 	if (ret < 0)
-		return ret;
+		goto err_put_rpm;
+
+	pm_runtime_put(&pdev->dev);
 
 	return 0;
+
+err_put_rpm:
+	pm_runtime_put_sync(&pdev->dev);
+
+	return ret;
 }
 
 static const struct dev_pm_ops turingcc_pm_ops = {
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe
  2023-07-18 13:28 ` [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe Johan Hovold
@ 2023-07-18 14:58   ` Bjorn Andersson
  2023-07-18 15:39     ` Johan Hovold
  0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Andersson @ 2023-07-18 14:58 UTC (permalink / raw)
  To: Johan Hovold
  Cc: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	linux-arm-msm, linux-clk, linux-kernel, stable, Taniya Das

On Tue, Jul 18, 2023 at 03:28:59PM +0200, Johan Hovold wrote:
> Drivers that enable runtime PM must make sure that the controller is
> runtime resumed before accessing its registers to prevent the power
> domain from being disabled.
> 

NB: the clock framework will runtime resume the controller surrounding
operations, even so during probe. But this is not done for resets and
gdscs - and in some clock drivers we poke registers directly from
probe...

The one time this really matters is where we associate the ahb clock
with the runtime state, e.g. in qcs404 turingcc. On most other platforms
we just mark these clocks always-on in gcc...

Regards,
Bjorn

> Fixes: 4ab43d171181 ("clk: qcom: Add lpass clock controller driver for SC7280")
> Cc: stable@vger.kernel.org      # 5.16
> Cc: Taniya Das <quic_tdas@quicinc.com>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> ---
>  drivers/clk/qcom/lpasscc-sc7280.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/clk/qcom/lpasscc-sc7280.c b/drivers/clk/qcom/lpasscc-sc7280.c
> index 0df2b29e95e3..e6b815aec46a 100644
> --- a/drivers/clk/qcom/lpasscc-sc7280.c
> +++ b/drivers/clk/qcom/lpasscc-sc7280.c
> @@ -118,9 +118,13 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
>  	ret = pm_clk_add(&pdev->dev, "iface");
>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "failed to acquire iface clock\n");
> -		goto destroy_pm_clk;
> +		goto err_destroy_pm_clk;
>  	}
>  
> +	ret = pm_runtime_resume_and_get(&pdev->dev);
> +	if (ret)
> +		goto err_destroy_pm_clk;
> +
>  	if (!of_property_read_bool(pdev->dev.of_node, "qcom,adsp-pil-mode")) {
>  		lpass_regmap_config.name = "qdsp6ss";
>  		lpass_regmap_config.max_register = 0x3f;
> @@ -128,7 +132,7 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
>  
>  		ret = qcom_cc_probe_by_index(pdev, 0, desc);
>  		if (ret)
> -			goto destroy_pm_clk;
> +			goto err_put_rpm;
>  	}
>  
>  	lpass_regmap_config.name = "top_cc";
> @@ -137,11 +141,15 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
>  
>  	ret = qcom_cc_probe_by_index(pdev, 1, desc);
>  	if (ret)
> -		goto destroy_pm_clk;
> +		goto err_put_rpm;
> +
> +	pm_runtime_put(&pdev->dev);
>  
>  	return 0;
>  
> -destroy_pm_clk:
> +err_put_rpm:
> +	pm_runtime_put_sync(&pdev->dev);
> +err_destroy_pm_clk:
>  	pm_clk_destroy(&pdev->dev);
>  
>  	return ret;
> -- 
> 2.41.0
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe
  2023-07-18 14:58   ` Bjorn Andersson
@ 2023-07-18 15:39     ` Johan Hovold
  0 siblings, 0 replies; 9+ messages in thread
From: Johan Hovold @ 2023-07-18 15:39 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Johan Hovold, Andy Gross, Konrad Dybcio, Michael Turquette,
	Stephen Boyd, linux-arm-msm, linux-clk, linux-kernel, stable,
	Taniya Das

On Tue, Jul 18, 2023 at 07:58:41AM -0700, Bjorn Andersson wrote:
> On Tue, Jul 18, 2023 at 03:28:59PM +0200, Johan Hovold wrote:
> > Drivers that enable runtime PM must make sure that the controller is
> > runtime resumed before accessing its registers to prevent the power
> > domain from being disabled.
> > 
> 
> NB: the clock framework will runtime resume the controller surrounding
> operations, even so during probe. But this is not done for resets and
> gdscs - and in some clock drivers we poke registers directly from
> probe...
> 
> The one time this really matters is where we associate the ahb clock
> with the runtime state, e.g. in qcs404 turingcc. On most other platforms
> we just mark these clocks always-on in gcc...

Right, I started looking at this with respect to the PM domain, but
my initial commit message only mentioned the need to make sure the
controller is resumed, which would have covered such interface clocks as
well. 

And while ending up with a concurrent request to disable the PM domain
is not that likely, there is currently nothing preventing it so it still
needs to be fixed.

Johan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-07-18 15:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20230718132902.21430-1-johan+linaro@kernel.org>
2023-07-18 13:28 ` [PATCH 1/8] clk: qcom: camcc-sc7180: fix async resume during probe Johan Hovold
2023-07-18 13:28 ` [PATCH 2/8] clk: qcom: dispcc-sm8450: fix runtime PM imbalance on probe errors Johan Hovold
2023-07-18 13:28 ` [PATCH 3/8] clk: qcom: dispcc-sm8550: " Johan Hovold
2023-07-18 13:28 ` [PATCH 5/8] clk: qcom: lpasscc-sc7280: fix missing resume during probe Johan Hovold
2023-07-18 14:58   ` Bjorn Andersson
2023-07-18 15:39     ` Johan Hovold
2023-07-18 13:29 ` [PATCH 6/8] clk: qcom: q6sstop-qcs404: " Johan Hovold
2023-07-18 13:29 ` [PATCH 7/8] clk: qcom: mss-sc7180: " Johan Hovold
2023-07-18 13:29 ` [PATCH 8/8] clk: qcom: turingcc-qcs404: " Johan Hovold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).