All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/8] Add updates for clock controllers to support QCM6490
@ 2024-03-18  5:35 Taniya Das
  2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

This series updates the clock controller drivers and devicetree nodes
for QCM6490 boards.

[v2]
  1. Move the implementation to support the lpass resets for the SoC
  using device tree property to new SoC-specific compatible.
  2. Separate the regmap conflict warning to a new patchset.
  3. Separate patch to handle the transition delay for GDSC and the mem
  core bit update for UFS ICE clock.
  4. Separate the device tree board specific changes to handle the
  protected clocks and lpass audio clock node. Remove the unnecessary
  disables of the lpass nodes.

[v1]
   1. Adding the "qcom,adsp-skip-pll" property to dt bindings.
   2. Fix to skip the lpass pll configuration on qcm6490 derivative boards.
   3. Enable the force mem core for UFS ICE clock and update the gdsc
      transition delays.
   4. Fix to add the camera titan top gdsc as parent to all camera gdscs.
   5. Update protected clocks list and disable few of the lpass clock
      controller nodes for qcm6490-idp and qcs6490-rb3gen2 platforms.
   Link to v1 - https://lore.kernel.org/all/20240208062836.19767-1-quic_tdas@quicinc.com/

Taniya Das (8):
  dt-bindings: clock: qcom: Add compatible for QCM6490 boards
  clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for
    QCM6490
  clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning
  clk: qcom: sc7280: Update the transition delay for GDSC
  clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock
  clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs
  arm64: dts: qcom: qcm6490-idp: Update protected clocks list
  arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node

 .../clock/qcom,sc7280-lpasscorecc.yaml        |  1 +
 arch/arm64/boot/dts/qcom/qcm6490-idp.dts      | 28 ++++++++++++++++++-
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts  |  7 ++++-
 drivers/clk/qcom/camcc-sc7280.c               | 24 ++++++++++++++++
 drivers/clk/qcom/gcc-sc7280.c                 | 13 +++++++++
 drivers/clk/qcom/gpucc-sc7280.c               |  7 +++++
 drivers/clk/qcom/lpassaudiocc-sc7280.c        | 15 ++++++++++
 drivers/clk/qcom/videocc-sc7280.c             |  7 +++++
 8 files changed, 100 insertions(+), 2 deletions(-)

--
2.17.1


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

* [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-03-18  7:11   ` Luca Weiss
                     ` (2 more replies)
  2024-03-18  5:35 ` [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
                   ` (6 subsequent siblings)
  7 siblings, 3 replies; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Add the new QCM6490 compatible to support the reset functionality for
Low Power Audio subsystem.

Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 .../devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml       | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
index deee5423d66e..861b41933525 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
@@ -30,6 +30,7 @@ properties:
       - qcom,sc7280-lpassaudiocc
       - qcom,sc7280-lpasscorecc
       - qcom,sc7280-lpasshm
+      - qcom,qcm6490-lpassaudiocc

   power-domains:
     maxItems: 1
--
2.17.1


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

* [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
  2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-03-18  7:50   ` Krzysztof Kozlowski
  2024-03-18  7:51   ` Krzysztof Kozlowski
  2024-03-18  5:35 ` [PATCH v2 3/8] clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning Taniya Das
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

On the QCM6490 boards the LPASS firmware controls the complete clock
controller functionalities. But the LPASS resets are required to be from
the high level OS for the LPASS SW driver could assert/deassert the
audio resets.

Fixes: a9dd26639d05 ("clk: qcom: lpass: Add support for LPASS clock controller for SC7280")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 drivers/clk/qcom/lpassaudiocc-sc7280.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/clk/qcom/lpassaudiocc-sc7280.c b/drivers/clk/qcom/lpassaudiocc-sc7280.c
index c43d0b1af7f7..d68139762a80 100644
--- a/drivers/clk/qcom/lpassaudiocc-sc7280.c
+++ b/drivers/clk/qcom/lpassaudiocc-sc7280.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
  */

 #include <linux/clk-provider.h>
@@ -721,6 +722,7 @@ static const struct qcom_cc_desc lpass_audio_cc_reset_sc7280_desc = {

 static const struct of_device_id lpass_audio_cc_sc7280_match_table[] = {
 	{ .compatible = "qcom,sc7280-lpassaudiocc" },
+	{ .compatible = "qcom,qcm6490-lpassaudiocc" },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, lpass_audio_cc_sc7280_match_table);
@@ -752,6 +754,13 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
 	struct regmap *regmap;
 	int ret;

+	if (of_device_is_compatible(pdev->dev.of_node, "qcom,qcm6490-lpassaudiocc")) {
+		ret = qcom_cc_probe_by_index(pdev, 1, &lpass_audio_cc_reset_sc7280_desc);
+		if (ret)
+			dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC Resets\n");
+		return ret;
+	}
+
 	ret = lpass_audio_setup_runtime_pm(pdev);
 	if (ret)
 		return ret;
--
2.17.1


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

* [PATCH v2 3/8] clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
  2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
  2024-03-18  5:35 ` [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-03-18  7:52   ` Krzysztof Kozlowski
  2024-03-18  5:35 ` [PATCH v2 4/8] clk: qcom: sc7280: Update the transition delay for GDSC Taniya Das
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Update the lpassaudio_cc_reset regmap name and max register details
to handle the regmap conflict warning between lpassaudio_cc_reset
and lpassaudio_cc.

Fixes: a9dd26639d05 ("clk: qcom: lpass: Add support for LPASS clock controller for SC7280")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 drivers/clk/qcom/lpassaudiocc-sc7280.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/clk/qcom/lpassaudiocc-sc7280.c b/drivers/clk/qcom/lpassaudiocc-sc7280.c
index d68139762a80..3f1e756a6e71 100644
--- a/drivers/clk/qcom/lpassaudiocc-sc7280.c
+++ b/drivers/clk/qcom/lpassaudiocc-sc7280.c
@@ -755,6 +755,9 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
 	int ret;

 	if (of_device_is_compatible(pdev->dev.of_node, "qcom,qcm6490-lpassaudiocc")) {
+		lpass_audio_cc_sc7280_regmap_config.name = "lpassaudio_cc_reset";
+		lpass_audio_cc_sc7280_regmap_config.max_register = 0xc8;
+
 		ret = qcom_cc_probe_by_index(pdev, 1, &lpass_audio_cc_reset_sc7280_desc);
 		if (ret)
 			dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC Resets\n");
@@ -787,6 +790,9 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
 		goto exit;
 	}

+	lpass_audio_cc_sc7280_regmap_config.name = "lpassaudio_cc_reset";
+	lpass_audio_cc_sc7280_regmap_config.max_register = 0xc8;
+
 	ret = qcom_cc_probe_by_index(pdev, 1, &lpass_audio_cc_reset_sc7280_desc);
 	if (ret) {
 		dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC Resets\n");
--
2.17.1


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

* [PATCH v2 4/8] clk: qcom: sc7280: Update the transition delay for GDSC
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
                   ` (2 preceding siblings ...)
  2024-03-18  5:35 ` [PATCH v2 3/8] clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-03-18  7:53   ` Krzysztof Kozlowski
  2024-03-18  5:35 ` [PATCH v2 5/8] clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock Taniya Das
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Update the GDSC default values of GDSC transition delay to avoid the
issues in the GDSC FSM state.

Fixes: fae7617bb142 ("clk: qcom: Add video clock controller driver for SC7280")
Fixes: 1daec8cfebc2 ("clk: qcom: camcc: Add camera clock controller driver for SC7280")
Fixes: a3cc092196ef ("clk: qcom: Add Global Clock controller (GCC) driver for SC7280")
Fixes: 3e0f01d6c7e7 ("clk: qcom: Add graphics clock controller driver for SC7280")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 drivers/clk/qcom/camcc-sc7280.c   | 19 +++++++++++++++++++
 drivers/clk/qcom/gcc-sc7280.c     | 10 ++++++++++
 drivers/clk/qcom/gpucc-sc7280.c   |  7 +++++++
 drivers/clk/qcom/videocc-sc7280.c |  7 +++++++
 4 files changed, 43 insertions(+)

diff --git a/drivers/clk/qcom/camcc-sc7280.c b/drivers/clk/qcom/camcc-sc7280.c
index d89ddb2298e3..27bfb0f959c4 100644
--- a/drivers/clk/qcom/camcc-sc7280.c
+++ b/drivers/clk/qcom/camcc-sc7280.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <linux/clk-provider.h>
@@ -2247,6 +2248,9 @@ static struct clk_branch cam_cc_sleep_clk = {
 
 static struct gdsc cam_cc_titan_top_gdsc = {
 	.gdscr = 0xc194,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "cam_cc_titan_top_gdsc",
 	},
@@ -2256,6 +2260,9 @@ static struct gdsc cam_cc_titan_top_gdsc = {
 
 static struct gdsc cam_cc_bps_gdsc = {
 	.gdscr = 0x7004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "cam_cc_bps_gdsc",
 	},
@@ -2265,6 +2272,9 @@ static struct gdsc cam_cc_bps_gdsc = {
 
 static struct gdsc cam_cc_ife_0_gdsc = {
 	.gdscr = 0xa004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "cam_cc_ife_0_gdsc",
 	},
@@ -2274,6 +2284,9 @@ static struct gdsc cam_cc_ife_0_gdsc = {
 
 static struct gdsc cam_cc_ife_1_gdsc = {
 	.gdscr = 0xb004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "cam_cc_ife_1_gdsc",
 	},
@@ -2283,6 +2296,9 @@ static struct gdsc cam_cc_ife_1_gdsc = {
 
 static struct gdsc cam_cc_ife_2_gdsc = {
 	.gdscr = 0xb070,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "cam_cc_ife_2_gdsc",
 	},
@@ -2292,6 +2308,9 @@ static struct gdsc cam_cc_ife_2_gdsc = {
 
 static struct gdsc cam_cc_ipe_0_gdsc = {
 	.gdscr = 0x8004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "cam_cc_ipe_0_gdsc",
 	},
diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c
index f45a8318900c..c622cd9a9d24 100644
--- a/drivers/clk/qcom/gcc-sc7280.c
+++ b/drivers/clk/qcom/gcc-sc7280.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <linux/clk-provider.h>
@@ -3094,6 +3095,9 @@ static struct clk_branch gcc_wpss_rscp_clk = {
 
 static struct gdsc gcc_pcie_0_gdsc = {
 	.gdscr = 0x6b004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "gcc_pcie_0_gdsc",
 	},
@@ -3112,6 +3116,9 @@ static struct gdsc gcc_pcie_1_gdsc = {
 
 static struct gdsc gcc_ufs_phy_gdsc = {
 	.gdscr = 0x77004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "gcc_ufs_phy_gdsc",
 	},
@@ -3121,6 +3128,9 @@ static struct gdsc gcc_ufs_phy_gdsc = {
 
 static struct gdsc gcc_usb30_prim_gdsc = {
 	.gdscr = 0xf004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0xf,
 	.pd = {
 		.name = "gcc_usb30_prim_gdsc",
 	},
diff --git a/drivers/clk/qcom/gpucc-sc7280.c b/drivers/clk/qcom/gpucc-sc7280.c
index 35b394feb68d..ebda57eac979 100644
--- a/drivers/clk/qcom/gpucc-sc7280.c
+++ b/drivers/clk/qcom/gpucc-sc7280.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <linux/clk-provider.h>
@@ -379,6 +380,9 @@ static struct clk_branch gpu_cc_sleep_clk = {
 
 static struct gdsc cx_gdsc = {
 	.gdscr = 0x106c,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0x2,
 	.gds_hw_ctrl = 0x1540,
 	.pd = {
 		.name = "cx_gdsc",
@@ -389,6 +393,9 @@ static struct gdsc cx_gdsc = {
 
 static struct gdsc gx_gdsc = {
 	.gdscr = 0x100c,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0x2,
 	.clamp_io_ctrl = 0x1508,
 	.pd = {
 		.name = "gx_gdsc",
diff --git a/drivers/clk/qcom/videocc-sc7280.c b/drivers/clk/qcom/videocc-sc7280.c
index cdd59c6f60df..119a3ed6eb6a 100644
--- a/drivers/clk/qcom/videocc-sc7280.c
+++ b/drivers/clk/qcom/videocc-sc7280.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <linux/clk-provider.h>
@@ -232,6 +233,9 @@ static struct clk_branch video_cc_venus_ahb_clk = {
 
 static struct gdsc mvs0_gdsc = {
 	.gdscr = 0x3004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0x6,
 	.pd = {
 		.name = "mvs0_gdsc",
 	},
@@ -241,6 +245,9 @@ static struct gdsc mvs0_gdsc = {
 
 static struct gdsc mvsc_gdsc = {
 	.gdscr = 0x2004,
+	.en_rest_wait_val = 0x2,
+	.en_few_wait_val = 0x2,
+	.clk_dis_wait_val = 0x6,
 	.pd = {
 		.name = "mvsc_gdsc",
 	},
-- 
2.17.1


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

* [PATCH v2 5/8] clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
                   ` (3 preceding siblings ...)
  2024-03-18  5:35 ` [PATCH v2 4/8] clk: qcom: sc7280: Update the transition delay for GDSC Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-04-23 13:14   ` Konrad Dybcio
  2024-03-18  5:35 ` [PATCH v2 6/8] clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs Taniya Das
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Update the force mem core bit for UFS ICE clock to force the core on signal
to remain active during halt state of the clk.

Fixes: a3cc092196ef ("clk: qcom: Add Global Clock controller (GCC) driver for SC7280")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 drivers/clk/qcom/gcc-sc7280.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c
index c622cd9a9d24..b937d513b814 100644
--- a/drivers/clk/qcom/gcc-sc7280.c
+++ b/drivers/clk/qcom/gcc-sc7280.c
@@ -3473,6 +3473,9 @@ static int gcc_sc7280_probe(struct platform_device *pdev)
 	qcom_branch_set_clk_en(regmap, 0x71004);/* GCC_GPU_CFG_AHB_CLK */
 	regmap_update_bits(regmap, 0x7100C, BIT(13), BIT(13));

+	/* FORCE_MEM_CORE_ON for ufs phy ice core clocks */
+	qcom_branch_set_force_mem_core(regmap, gcc_ufs_phy_ice_core_clk, true);
+
 	ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks,
 			ARRAY_SIZE(gcc_dfs_clocks));
 	if (ret)
--
2.17.1


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

* [PATCH v2 6/8] clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
                   ` (4 preceding siblings ...)
  2024-03-18  5:35 ` [PATCH v2 5/8] clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-04-23 13:14   ` Konrad Dybcio
  2024-03-18  5:35 ` [PATCH v2 7/8] arm64: dts: qcom: qcm6490-idp: Update protected clocks list Taniya Das
  2024-03-18  5:35 ` [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node Taniya Das
  7 siblings, 1 reply; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Camera titan top GDSC is a parent supply to all other camera GDSCs. Titan
top GDSC is required to be enabled before enabling any other camera GDSCs
and it should be disabled only after all other camera GDSCs are disabled.
Ensure this behavior by marking titan top GDSC as parent of all other
camera GDSCs.

Fixes: 1daec8cfebc2 ("clk: qcom: camcc: Add camera clock controller driver for SC7280")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/clk/qcom/camcc-sc7280.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/clk/qcom/camcc-sc7280.c b/drivers/clk/qcom/camcc-sc7280.c
index 27bfb0f959c4..da29d3b953ee 100644
--- a/drivers/clk/qcom/camcc-sc7280.c
+++ b/drivers/clk/qcom/camcc-sc7280.c
@@ -2267,6 +2267,7 @@ static struct gdsc cam_cc_bps_gdsc = {
 		.name = "cam_cc_bps_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.parent = &cam_cc_titan_top_gdsc.pd,
 	.flags = HW_CTRL | RETAIN_FF_ENABLE,
 };

@@ -2279,6 +2280,7 @@ static struct gdsc cam_cc_ife_0_gdsc = {
 		.name = "cam_cc_ife_0_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.parent = &cam_cc_titan_top_gdsc.pd,
 	.flags = RETAIN_FF_ENABLE,
 };

@@ -2291,6 +2293,7 @@ static struct gdsc cam_cc_ife_1_gdsc = {
 		.name = "cam_cc_ife_1_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.parent = &cam_cc_titan_top_gdsc.pd,
 	.flags = RETAIN_FF_ENABLE,
 };

@@ -2303,6 +2306,7 @@ static struct gdsc cam_cc_ife_2_gdsc = {
 		.name = "cam_cc_ife_2_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.parent = &cam_cc_titan_top_gdsc.pd,
 	.flags = RETAIN_FF_ENABLE,
 };

@@ -2315,6 +2319,7 @@ static struct gdsc cam_cc_ipe_0_gdsc = {
 		.name = "cam_cc_ipe_0_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.parent = &cam_cc_titan_top_gdsc.pd,
 	.flags = HW_CTRL | RETAIN_FF_ENABLE,
 };

--
2.17.1


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

* [PATCH v2 7/8] arm64: dts: qcom: qcm6490-idp: Update protected clocks list
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
                   ` (5 preceding siblings ...)
  2024-03-18  5:35 ` [PATCH v2 6/8] clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-03-18  7:54   ` Krzysztof Kozlowski
  2024-03-18  5:35 ` [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node Taniya Das
  7 siblings, 1 reply; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Certain clocks are not accessible on QCM6490-IDP board,
thus mark them as protected. Update the lpassaudio node to
support the new compatible.

Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 28 +++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
index e4bfad50a669..915f955657df 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: BSD-3-Clause
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  */

 /dts-v1/;
@@ -448,6 +448,32 @@
 	};
 };

+&gcc {
+	protected-clocks = <GCC_AGGRE_NOC_PCIE_1_AXI_CLK> ,<GCC_PCIE_1_AUX_CLK>,
+			<GCC_PCIE_1_AUX_CLK_SRC>, <GCC_PCIE_1_CFG_AHB_CLK>,
+			<GCC_PCIE_1_MSTR_AXI_CLK>, <GCC_PCIE_1_PHY_RCHNG_CLK_SRC>,
+			<GCC_PCIE_1_PIPE_CLK>, <GCC_PCIE_1_PIPE_CLK_SRC>,
+			<GCC_PCIE_1_SLV_AXI_CLK>, <GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
+			<GCC_QSPI_CNOC_PERIPH_AHB_CLK>, <GCC_QSPI_CORE_CLK>,
+			<GCC_QSPI_CORE_CLK_SRC>,<GCC_USB30_SEC_MASTER_CLK>,
+			<GCC_USB30_SEC_MASTER_CLK_SRC>, <GCC_USB30_SEC_MOCK_UTMI_CLK>,
+			<GCC_USB30_SEC_MOCK_UTMI_CLK_SRC>,
+			<GCC_USB30_SEC_MOCK_UTMI_POSTDIV_CLK_SRC>, <GCC_USB30_SEC_SLEEP_CLK>,
+			<GCC_USB3_SEC_PHY_AUX_CLK>, <GCC_USB3_SEC_PHY_AUX_CLK_SRC>,
+			<GCC_USB3_SEC_PHY_COM_AUX_CLK>, <GCC_USB3_SEC_PHY_PIPE_CLK>,
+			<GCC_USB3_SEC_PHY_PIPE_CLK_SRC>, <GCC_CFG_NOC_LPASS_CLK>,
+			<GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>, <GCC_MSS_CFG_AHB_CLK>,
+			<GCC_MSS_OFFLINE_AXI_CLK>, <GCC_MSS_SNOC_AXI_CLK>,
+			<GCC_MSS_Q6_MEMNOC_AXI_CLK>, <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
+			<GCC_SEC_CTRL_CLK_SRC>, <GCC_WPSS_AHB_CLK>,
+			<GCC_WPSS_AHB_BDG_MST_CLK>, <GCC_WPSS_RSCP_CLK>;
+};
+
+&lpass_audiocc {
+	compatible = "qcom,qcm6490-lpassaudiocc";
+	/delete-property/ power-domains;
+};
+
 &qupv3_id_0 {
 	status = "okay";
 };
--
2.17.1


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

* [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node
  2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
                   ` (6 preceding siblings ...)
  2024-03-18  5:35 ` [PATCH v2 7/8] arm64: dts: qcom: qcm6490-idp: Update protected clocks list Taniya Das
@ 2024-03-18  5:35 ` Taniya Das
  2024-03-18  7:55   ` Krzysztof Kozlowski
  2024-04-23 13:16   ` Konrad Dybcio
  7 siblings, 2 replies; 21+ messages in thread
From: Taniya Das @ 2024-03-18  5:35 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Taniya Das, linux-arm-msm, linux-clk, devicetree

Update the lpassaudio node to support the new compatible.

Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index 97824c769ba3..dc7edea7f7c8 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: BSD-3-Clause
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  */

 /dts-v1/;
@@ -430,6 +430,11 @@
 			   <GCC_WPSS_RSCP_CLK>;
 };

+&lpass_audiocc {
+	compatible = "qcom,qcm6490-lpassaudiocc";
+	/delete-property/ power-domains;
+};
+
 &qupv3_id_0 {
 	status = "okay";
 };
--
2.17.1


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

* Re: [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
  2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
@ 2024-03-18  7:11   ` Luca Weiss
  2024-03-18  7:47   ` Krzysztof Kozlowski
  2024-03-18  7:50   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 21+ messages in thread
From: Luca Weiss @ 2024-03-18  7:11 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette  ,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On Mon Mar 18, 2024 at 6:35 AM CET, Taniya Das wrote:
> Add the new QCM6490 compatible to support the reset functionality for
> Low Power Audio subsystem.
>
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>  .../devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml       | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> index deee5423d66e..861b41933525 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> @@ -30,6 +30,7 @@ properties:
>        - qcom,sc7280-lpassaudiocc
>        - qcom,sc7280-lpasscorecc
>        - qcom,sc7280-lpasshm
> +      - qcom,qcm6490-lpassaudiocc

So QCM6490 and SM7325 and SC7280 with non-CrOS firmware (maybe some WoA
devices?) are supposed to use qcom,qcm6490-lpassaudiocc then? Is this
what is intended?

Regards
Luca

>
>    power-domains:
>      maxItems: 1
> --
> 2.17.1


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

* Re: [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
  2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
  2024-03-18  7:11   ` Luca Weiss
@ 2024-03-18  7:47   ` Krzysztof Kozlowski
  2024-03-18  7:50   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:47 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> Add the new QCM6490 compatible to support the reset functionality for
> Low Power Audio subsystem.
> 
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>  .../devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml       | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> index deee5423d66e..861b41933525 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> @@ -30,6 +30,7 @@ properties:
>        - qcom,sc7280-lpassaudiocc
>        - qcom,sc7280-lpasscorecc
>        - qcom,sc7280-lpasshm
> +      - qcom,qcm6490-lpassaudiocc

Don't add stuff at the end, but keep order. This applies everywhere... I
am pretty sure you got such comment from me in the past.

Best regards,
Krzysztof


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

* Re: [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490
  2024-03-18  5:35 ` [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
@ 2024-03-18  7:50   ` Krzysztof Kozlowski
  2024-03-18  7:51   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:50 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> On the QCM6490 boards the LPASS firmware controls the complete clock
> controller functionalities. But the LPASS resets are required to be from
> the high level OS for the LPASS SW driver could assert/deassert the
> audio resets.
> 
> Fixes: a9dd26639d05 ("clk: qcom: lpass: Add support for LPASS clock controller for SC7280")
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>  drivers/clk/qcom/lpassaudiocc-sc7280.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/clk/qcom/lpassaudiocc-sc7280.c b/drivers/clk/qcom/lpassaudiocc-sc7280.c
> index c43d0b1af7f7..d68139762a80 100644
> --- a/drivers/clk/qcom/lpassaudiocc-sc7280.c
> +++ b/drivers/clk/qcom/lpassaudiocc-sc7280.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0-only
>  /*
>   * Copyright (c) 2021, The Linux Foundation. All rights reserved.
> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
>   */
> 
>  #include <linux/clk-provider.h>
> @@ -721,6 +722,7 @@ static const struct qcom_cc_desc lpass_audio_cc_reset_sc7280_desc = {
> 
>  static const struct of_device_id lpass_audio_cc_sc7280_match_table[] = {
>  	{ .compatible = "qcom,sc7280-lpassaudiocc" },
> +	{ .compatible = "qcom,qcm6490-lpassaudiocc" },

Why q is after s? Really, keep the order.

>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, lpass_audio_cc_sc7280_match_table);
> @@ -752,6 +754,13 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
>  	struct regmap *regmap;
>  	int ret;
> 
> +	if (of_device_is_compatible(pdev->dev.of_node, "qcom,qcm6490-lpassaudiocc")) {

This does not scale. Use match data.

> +		ret = qcom_cc_probe_by_index(pdev, 1, &lpass_audio_cc_reset_sc7280_desc);

No, qcm6490 does not have two IO maps, according to your binding.

Best regards,
Krzysztof


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

* Re: [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
  2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
  2024-03-18  7:11   ` Luca Weiss
  2024-03-18  7:47   ` Krzysztof Kozlowski
@ 2024-03-18  7:50   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:50 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> Add the new QCM6490 compatible to support the reset functionality for
> Low Power Audio subsystem.
> 
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>  .../devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml       | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> index deee5423d66e..861b41933525 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
> @@ -30,6 +30,7 @@ properties:
>        - qcom,sc7280-lpassaudiocc
>        - qcom,sc7280-lpasscorecc
>        - qcom,sc7280-lpasshm
> +      - qcom,qcm6490-lpassaudiocc
> 

... and open the binding, so you will see how incomplete this is.

Best regards,
Krzysztof


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

* Re: [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490
  2024-03-18  5:35 ` [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
  2024-03-18  7:50   ` Krzysztof Kozlowski
@ 2024-03-18  7:51   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:51 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> On the QCM6490 boards the LPASS firmware controls the complete clock
> controller functionalities. But the LPASS resets are required to be from
> the high level OS for the LPASS SW driver could assert/deassert the
> audio resets.
> 
> Fixes: a9dd26639d05 ("clk: qcom: lpass: Add support for LPASS clock controller for SC7280")

NAK, that's not a fix. Please explain what is the bug being fixed.

Best regards,
Krzysztof


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

* Re: [PATCH v2 3/8] clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning
  2024-03-18  5:35 ` [PATCH v2 3/8] clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning Taniya Das
@ 2024-03-18  7:52   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:52 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> Update the lpassaudio_cc_reset regmap name and max register details
> to handle the regmap conflict warning between lpassaudio_cc_reset
> and lpassaudio_cc.

What conflict? How does this bug affect users? Explain this in commit msg.

> 
> Fixes: a9dd26639d05 ("clk: qcom: lpass: Add support for LPASS clock controller for SC7280")
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>  drivers/clk/qcom/lpassaudiocc-sc7280.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/clk/qcom/lpassaudiocc-sc7280.c b/drivers/clk/qcom/lpassaudiocc-sc7280.c
> index d68139762a80..3f1e756a6e71 100644
> --- a/drivers/clk/qcom/lpassaudiocc-sc7280.c
> +++ b/drivers/clk/qcom/lpassaudiocc-sc7280.c
> @@ -755,6 +755,9 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
>  	int ret;
> 
>  	if (of_device_is_compatible(pdev->dev.of_node, "qcom,qcm6490-lpassaudiocc")) {
> +		lpass_audio_cc_sc7280_regmap_config.name = "lpassaudio_cc_reset";
> +		lpass_audio_cc_sc7280_regmap_config.max_register = 0xc8;
> +
>  		ret = qcom_cc_probe_by_index(pdev, 1, &lpass_audio_cc_reset_sc7280_desc);
>  		if (ret)
>  			dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC Resets\n");
> @@ -787,6 +790,9 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
>  		goto exit;
>  	}
> 
> +	lpass_audio_cc_sc7280_regmap_config.name = "lpassaudio_cc_reset";
> +	lpass_audio_cc_sc7280_regmap_config.max_register = 0xc8;

Why do you have it in two places?


Best regards,
Krzysztof


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

* Re: [PATCH v2 4/8] clk: qcom: sc7280: Update the transition delay for GDSC
  2024-03-18  5:35 ` [PATCH v2 4/8] clk: qcom: sc7280: Update the transition delay for GDSC Taniya Das
@ 2024-03-18  7:53   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:53 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> Update the GDSC default values of GDSC transition delay to avoid the
> issues in the GDSC FSM state.

What issues?

> 

Why none of your so called "fixes" are marked as Cc-stable? If they are
real fixes, they should be.

> Fixes: fae7617bb142 ("clk: qcom: Add video clock controller driver for SC7280")
> Fixes: 1daec8cfebc2 ("clk: qcom: camcc: Add camera clock controller driver for SC7280")
> Fixes: a3cc092196ef ("clk: qcom: Add Global Clock controller (GCC) driver for SC7280")
> Fixes: 3e0f01d6c7e7 ("clk: qcom: Add graphics clock controller driver for SC7280")

No, don't combine separate fixes into one commit.



Best regards,
Krzysztof


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

* Re: [PATCH v2 7/8] arm64: dts: qcom: qcm6490-idp: Update protected clocks list
  2024-03-18  5:35 ` [PATCH v2 7/8] arm64: dts: qcom: qcm6490-idp: Update protected clocks list Taniya Das
@ 2024-03-18  7:54   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:54 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> Certain clocks are not accessible on QCM6490-IDP board,
> thus mark them as protected. Update the lpassaudio node to
> support the new compatible.
> 
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---

> 
> +&gcc {
> +	protected-clocks = <GCC_AGGRE_NOC_PCIE_1_AXI_CLK> ,<GCC_PCIE_1_AUX_CLK>,
> +			<GCC_PCIE_1_AUX_CLK_SRC>, <GCC_PCIE_1_CFG_AHB_CLK>,
> +			<GCC_PCIE_1_MSTR_AXI_CLK>, <GCC_PCIE_1_PHY_RCHNG_CLK_SRC>,
> +			<GCC_PCIE_1_PIPE_CLK>, <GCC_PCIE_1_PIPE_CLK_SRC>,
> +			<GCC_PCIE_1_SLV_AXI_CLK>, <GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
> +			<GCC_QSPI_CNOC_PERIPH_AHB_CLK>, <GCC_QSPI_CORE_CLK>,
> +			<GCC_QSPI_CORE_CLK_SRC>,<GCC_USB30_SEC_MASTER_CLK>,
> +			<GCC_USB30_SEC_MASTER_CLK_SRC>, <GCC_USB30_SEC_MOCK_UTMI_CLK>,
> +			<GCC_USB30_SEC_MOCK_UTMI_CLK_SRC>,
> +			<GCC_USB30_SEC_MOCK_UTMI_POSTDIV_CLK_SRC>, <GCC_USB30_SEC_SLEEP_CLK>,
> +			<GCC_USB3_SEC_PHY_AUX_CLK>, <GCC_USB3_SEC_PHY_AUX_CLK_SRC>,
> +			<GCC_USB3_SEC_PHY_COM_AUX_CLK>, <GCC_USB3_SEC_PHY_PIPE_CLK>,
> +			<GCC_USB3_SEC_PHY_PIPE_CLK_SRC>, <GCC_CFG_NOC_LPASS_CLK>,
> +			<GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>, <GCC_MSS_CFG_AHB_CLK>,
> +			<GCC_MSS_OFFLINE_AXI_CLK>, <GCC_MSS_SNOC_AXI_CLK>,
> +			<GCC_MSS_Q6_MEMNOC_AXI_CLK>, <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
> +			<GCC_SEC_CTRL_CLK_SRC>, <GCC_WPSS_AHB_CLK>,
> +			<GCC_WPSS_AHB_BDG_MST_CLK>, <GCC_WPSS_RSCP_CLK>;
> +};
> +
> +&lpass_audiocc {
> +	compatible = "qcom,qcm6490-lpassaudiocc";

What? Why do you override compatible for given board? This is a SoC
block, not board!

Best regards,
Krzysztof


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

* Re: [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node
  2024-03-18  5:35 ` [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node Taniya Das
@ 2024-03-18  7:55   ` Krzysztof Kozlowski
  2024-04-23 13:16   ` Konrad Dybcio
  1 sibling, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-18  7:55 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree

On 18/03/2024 06:35, Taniya Das wrote:
> Update the lpassaudio node to support the new compatible.

Why? The most important information and you ignore it... What is easily
visible from the diff.

> 
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> index 97824c769ba3..dc7edea7f7c8 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> @@ -1,6 +1,6 @@
>  // SPDX-License-Identifier: BSD-3-Clause
>  /*
> - * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
>   */
> 
>  /dts-v1/;
> @@ -430,6 +430,11 @@
>  			   <GCC_WPSS_RSCP_CLK>;
>  };
> 
> +&lpass_audiocc {
> +	compatible = "qcom,qcm6490-lpassaudiocc";

No, you are creating some spaghetti DTS. Boards do not change SoC
compatibles.

Best regards,
Krzysztof


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

* Re: [PATCH v2 5/8] clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock
  2024-03-18  5:35 ` [PATCH v2 5/8] clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock Taniya Das
@ 2024-04-23 13:14   ` Konrad Dybcio
  0 siblings, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2024-04-23 13:14 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree



On 3/18/24 06:35, Taniya Das wrote:
> Update the force mem core bit for UFS ICE clock to force the core on signal
> to remain active during halt state of the clk.
> 
> Fixes: a3cc092196ef ("clk: qcom: Add Global Clock controller (GCC) driver for SC7280")

You describe the solution, but not the problem. Please state why it's
necessary to do so.

Konrad

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

* Re: [PATCH v2 6/8] clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs
  2024-03-18  5:35 ` [PATCH v2 6/8] clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs Taniya Das
@ 2024-04-23 13:14   ` Konrad Dybcio
  0 siblings, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2024-04-23 13:14 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree



On 3/18/24 06:35, Taniya Das wrote:
> Camera titan top GDSC is a parent supply to all other camera GDSCs. Titan
> top GDSC is required to be enabled before enabling any other camera GDSCs
> and it should be disabled only after all other camera GDSCs are disabled.
> Ensure this behavior by marking titan top GDSC as parent of all other
> camera GDSCs.
> 
> Fixes: 1daec8cfebc2 ("clk: qcom: camcc: Add camera clock controller driver for SC7280")
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad

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

* Re: [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node
  2024-03-18  5:35 ` [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node Taniya Das
  2024-03-18  7:55   ` Krzysztof Kozlowski
@ 2024-04-23 13:16   ` Konrad Dybcio
  1 sibling, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2024-04-23 13:16 UTC (permalink / raw)
  To: Taniya Das, Stephen Boyd, Michael Turquette, Bjorn Andersson,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-clk, devicetree



On 3/18/24 06:35, Taniya Das wrote:
> Update the lpassaudio node to support the new compatible.
> 
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
>   arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> index 97824c769ba3..dc7edea7f7c8 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> @@ -1,6 +1,6 @@
>   // SPDX-License-Identifier: BSD-3-Clause
>   /*
> - * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
>    */
> 
>   /dts-v1/;
> @@ -430,6 +430,11 @@
>   			   <GCC_WPSS_RSCP_CLK>;
>   };
> 
> +&lpass_audiocc {
> +	compatible = "qcom,qcm6490-lpassaudiocc";
> +	/delete-property/ power-domains;

I've already commented on this the last time somebody tried to shoehorn
this "solution" in..

Konrad

https://lore.kernel.org/linux-arm-msm/20230616103534.4031331-1-quic_mohs@quicinc.com/

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

end of thread, other threads:[~2024-04-23 13:16 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-18  5:35 [PATCH v2 0/8] Add updates for clock controllers to support QCM6490 Taniya Das
2024-03-18  5:35 ` [PATCH v2 1/8] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
2024-03-18  7:11   ` Luca Weiss
2024-03-18  7:47   ` Krzysztof Kozlowski
2024-03-18  7:50   ` Krzysztof Kozlowski
2024-03-18  5:35 ` [PATCH v2 2/8] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
2024-03-18  7:50   ` Krzysztof Kozlowski
2024-03-18  7:51   ` Krzysztof Kozlowski
2024-03-18  5:35 ` [PATCH v2 3/8] clk: qcom: lpassaudiocc-sc7280: Fix the regmap conflict warning Taniya Das
2024-03-18  7:52   ` Krzysztof Kozlowski
2024-03-18  5:35 ` [PATCH v2 4/8] clk: qcom: sc7280: Update the transition delay for GDSC Taniya Das
2024-03-18  7:53   ` Krzysztof Kozlowski
2024-03-18  5:35 ` [PATCH v2 5/8] clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock Taniya Das
2024-04-23 13:14   ` Konrad Dybcio
2024-03-18  5:35 ` [PATCH v2 6/8] clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs Taniya Das
2024-04-23 13:14   ` Konrad Dybcio
2024-03-18  5:35 ` [PATCH v2 7/8] arm64: dts: qcom: qcm6490-idp: Update protected clocks list Taniya Das
2024-03-18  7:54   ` Krzysztof Kozlowski
2024-03-18  5:35 ` [PATCH v2 8/8] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node Taniya Das
2024-03-18  7:55   ` Krzysztof Kozlowski
2024-04-23 13:16   ` Konrad Dybcio

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.