devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform
@ 2024-08-04  5:40 Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 01/11] clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks Dmitry Baryshkov
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov, stable

A set of fixes that target stability of the SM8350 platform.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Dmitry Baryshkov (11):
      clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks
      clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL
      drm/msm/dsi: correct programming sequence for SM8350 / SM8450
      interconnect: qcom: sm8350: drop DISP nodes
      interconnect: qcom: sm8450: drop DISP nodes
      dt-bindings: interconnect: qcom,sm8350: drop DISP nodes
      dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
      interconnect: qcom: sm8250: Enable sync_state
      arm64: dts: qcom: sm8350: add MDSS registers interconnect
      arm64: dts: qcom: sm8350: add refgen regulator
      arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module

 arch/arm64/boot/dts/qcom/sm8350.dtsi           |  16 ++-
 arch/arm64/configs/defconfig                   |   1 +
 drivers/clk/qcom/clk-alpha-pll.c               |  52 +++++++++
 drivers/clk/qcom/clk-alpha-pll.h               |   2 +
 drivers/clk/qcom/dispcc-sm8250.c               |  12 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c      |  12 +-
 drivers/interconnect/qcom/sm8350.c             | 155 +------------------------
 drivers/interconnect/qcom/sm8350.h             |  10 --
 drivers/interconnect/qcom/sm8450.c             | 145 -----------------------
 drivers/interconnect/qcom/sm8450.h             |  12 --
 include/dt-bindings/interconnect/qcom,sm8350.h |  10 --
 include/dt-bindings/interconnect/qcom,sm8450.h |  10 --
 12 files changed, 91 insertions(+), 346 deletions(-)
---
base-commit: 668d33c9ff922c4590c58754ab064aaf53c387dd
change-id: 20240804-sm8350-fixes-9e731f79c56f

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


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

* [PATCH 01/11] clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 02/11] clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL Dmitry Baryshkov
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov, stable

Add CLK_SET_RATE_PARENT for several branch clocks. Such clocks don't
have a way to change the rate, so set the parent rate instead.

Fixes: 80a18f4a8567 ("clk: qcom: Add display clock controller driver for SM8150 and SM8250")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/clk/qcom/dispcc-sm8250.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/clk/qcom/dispcc-sm8250.c b/drivers/clk/qcom/dispcc-sm8250.c
index 5a09009b7289..eb78cd5439d0 100644
--- a/drivers/clk/qcom/dispcc-sm8250.c
+++ b/drivers/clk/qcom/dispcc-sm8250.c
@@ -849,6 +849,7 @@ static struct clk_branch disp_cc_mdss_dp_link1_intf_clk = {
 				&disp_cc_mdss_dp_link1_div_clk_src.clkr.hw,
 			},
 			.num_parents = 1,
+			.flags = CLK_SET_RATE_PARENT,
 			.ops = &clk_branch2_ops,
 		},
 	},
@@ -884,6 +885,7 @@ static struct clk_branch disp_cc_mdss_dp_link_intf_clk = {
 				&disp_cc_mdss_dp_link_div_clk_src.clkr.hw,
 			},
 			.num_parents = 1,
+			.flags = CLK_SET_RATE_PARENT,
 			.ops = &clk_branch2_ops,
 		},
 	},
@@ -1009,6 +1011,7 @@ static struct clk_branch disp_cc_mdss_mdp_lut_clk = {
 				&disp_cc_mdss_mdp_clk_src.clkr.hw,
 			},
 			.num_parents = 1,
+			.flags = CLK_SET_RATE_PARENT,
 			.ops = &clk_branch2_ops,
 		},
 	},

-- 
2.39.2


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

* [PATCH 02/11] clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 01/11] clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450 Dmitry Baryshkov
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

According to msm-5.10 the lucid 5lpe PLLs have require slightly
different configuration that trion / lucid PLLs, it doesn't set
PLL_UPDATE_BYPASS bit. Add corresponding function and use it for the
display clock controller on Qualcomm SM8350 platform.

Fixes: 205737fe3345 ("clk: qcom: add support for SM8350 DISPCC")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/clk/qcom/clk-alpha-pll.c | 52 ++++++++++++++++++++++++++++++++++++++++
 drivers/clk/qcom/clk-alpha-pll.h |  2 ++
 drivers/clk/qcom/dispcc-sm8250.c |  9 +++++--
 3 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/qcom/clk-alpha-pll.c b/drivers/clk/qcom/clk-alpha-pll.c
index d87314042528..d0b911499cf9 100644
--- a/drivers/clk/qcom/clk-alpha-pll.c
+++ b/drivers/clk/qcom/clk-alpha-pll.c
@@ -1831,6 +1831,58 @@ const struct clk_ops clk_alpha_pll_agera_ops = {
 };
 EXPORT_SYMBOL_GPL(clk_alpha_pll_agera_ops);
 
+/**
+ * clk_lucid_5lpe_pll_configure - configure the lucid 5lpe pll
+ *
+ * @pll: clk alpha pll
+ * @regmap: register map
+ * @config: configuration to apply for pll
+ */
+void clk_lucid_5lpe_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
+				  const struct alpha_pll_config *config)
+{
+	/*
+	 * If the bootloader left the PLL enabled it's likely that there are
+	 * RCGs that will lock up if we disable the PLL below.
+	 */
+	if (trion_pll_is_enabled(pll, regmap)) {
+		pr_debug("Lucid 5LPE PLL is already enabled, skipping configuration\n");
+		return;
+	}
+
+	clk_alpha_pll_write_config(regmap, PLL_L_VAL(pll), config->l);
+	regmap_write(regmap, PLL_CAL_L_VAL(pll), TRION_PLL_CAL_VAL);
+	clk_alpha_pll_write_config(regmap, PLL_ALPHA_VAL(pll), config->alpha);
+	clk_alpha_pll_write_config(regmap, PLL_CONFIG_CTL(pll),
+				     config->config_ctl_val);
+	clk_alpha_pll_write_config(regmap, PLL_CONFIG_CTL_U(pll),
+				     config->config_ctl_hi_val);
+	clk_alpha_pll_write_config(regmap, PLL_CONFIG_CTL_U1(pll),
+				     config->config_ctl_hi1_val);
+	clk_alpha_pll_write_config(regmap, PLL_USER_CTL(pll),
+					config->user_ctl_val);
+	clk_alpha_pll_write_config(regmap, PLL_USER_CTL_U(pll),
+					config->user_ctl_hi_val);
+	clk_alpha_pll_write_config(regmap, PLL_USER_CTL_U1(pll),
+					config->user_ctl_hi1_val);
+	clk_alpha_pll_write_config(regmap, PLL_TEST_CTL(pll),
+					config->test_ctl_val);
+	clk_alpha_pll_write_config(regmap, PLL_TEST_CTL_U(pll),
+					config->test_ctl_hi_val);
+	clk_alpha_pll_write_config(regmap, PLL_TEST_CTL_U1(pll),
+					config->test_ctl_hi1_val);
+
+	/* Disable PLL output */
+	regmap_update_bits(regmap, PLL_MODE(pll),  PLL_OUTCTRL, 0);
+
+	/* Set operation mode to OFF */
+	regmap_write(regmap, PLL_OPMODE(pll), PLL_STANDBY);
+
+	/* Place the PLL in STANDBY mode */
+	regmap_update_bits(regmap, PLL_MODE(pll), PLL_RESET_N, PLL_RESET_N);
+}
+EXPORT_SYMBOL_GPL(clk_lucid_5lpe_pll_configure);
+
 static int alpha_pll_lucid_5lpe_enable(struct clk_hw *hw)
 {
 	struct clk_alpha_pll *pll = to_clk_alpha_pll(hw);
diff --git a/drivers/clk/qcom/clk-alpha-pll.h b/drivers/clk/qcom/clk-alpha-pll.h
index df8f0fe15531..e2cf5c7e501d 100644
--- a/drivers/clk/qcom/clk-alpha-pll.h
+++ b/drivers/clk/qcom/clk-alpha-pll.h
@@ -208,6 +208,8 @@ void clk_agera_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
 
 void clk_zonda_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
 			     const struct alpha_pll_config *config);
+void clk_lucid_5lpe_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
+				  const struct alpha_pll_config *config);
 void clk_lucid_evo_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
 				 const struct alpha_pll_config *config);
 void clk_lucid_ole_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
diff --git a/drivers/clk/qcom/dispcc-sm8250.c b/drivers/clk/qcom/dispcc-sm8250.c
index eb78cd5439d0..884bbd3fb305 100644
--- a/drivers/clk/qcom/dispcc-sm8250.c
+++ b/drivers/clk/qcom/dispcc-sm8250.c
@@ -1360,8 +1360,13 @@ static int disp_cc_sm8250_probe(struct platform_device *pdev)
 		disp_cc_sm8250_clocks[DISP_CC_MDSS_EDP_GTC_CLK_SRC] = NULL;
 	}
 
-	clk_lucid_pll_configure(&disp_cc_pll0, regmap, &disp_cc_pll0_config);
-	clk_lucid_pll_configure(&disp_cc_pll1, regmap, &disp_cc_pll1_config);
+	if (of_device_is_compatible(pdev->dev.of_node, "qcom,sm8350-dispcc")) {
+		clk_lucid_5lpe_pll_configure(&disp_cc_pll0, regmap, &disp_cc_pll0_config);
+		clk_lucid_5lpe_pll_configure(&disp_cc_pll1, regmap, &disp_cc_pll1_config);
+	} else {
+		clk_lucid_pll_configure(&disp_cc_pll0, regmap, &disp_cc_pll0_config);
+		clk_lucid_pll_configure(&disp_cc_pll1, regmap, &disp_cc_pll1_config);
+	}
 
 	/* Enable clock gating for MDP clocks */
 	regmap_update_bits(regmap, 0x8000, 0x10, 0x10);

-- 
2.39.2


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

* [PATCH 03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 01/11] clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 02/11] clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-28 20:33   ` Abhinav Kumar
  2024-08-04  5:40 ` [PATCH 04/11] interconnect: qcom: sm8350: drop DISP nodes Dmitry Baryshkov
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

According to the display-drivers, 5nm DSI PLL (v4.2, v4.3) have
different boundaries for pll_clock_inverters programming. Follow the
vendor code and use correct values.

Fixes: 2f9ae4e395ed ("drm/msm/dsi: add support for DSI-PHY on SM8350 and SM8450")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
index 3b59137ca674..031446c87dae 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
@@ -135,7 +135,7 @@ static void dsi_pll_calc_dec_frac(struct dsi_pll_7nm *pll, struct dsi_pll_config
 			config->pll_clock_inverters = 0x00;
 		else
 			config->pll_clock_inverters = 0x40;
-	} else {
+	} else if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) {
 		if (pll_freq <= 1000000000ULL)
 			config->pll_clock_inverters = 0xa0;
 		else if (pll_freq <= 2500000000ULL)
@@ -144,6 +144,16 @@ static void dsi_pll_calc_dec_frac(struct dsi_pll_7nm *pll, struct dsi_pll_config
 			config->pll_clock_inverters = 0x00;
 		else
 			config->pll_clock_inverters = 0x40;
+	} else {
+		/* 4.2, 4.3 */
+		if (pll_freq <= 1000000000ULL)
+			config->pll_clock_inverters = 0xa0;
+		else if (pll_freq <= 2500000000ULL)
+			config->pll_clock_inverters = 0x20;
+		else if (pll_freq <= 3500000000ULL)
+			config->pll_clock_inverters = 0x00;
+		else
+			config->pll_clock_inverters = 0x40;
 	}
 
 	config->decimal_div_start = dec;

-- 
2.39.2


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

* [PATCH 04/11] interconnect: qcom: sm8350: drop DISP nodes
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450 Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 05/11] interconnect: qcom: sm8450: " Dmitry Baryshkov
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

The msm-5.x kernels have additional display RSC and separate display BCM
voter. Since upstream kernel doesn't yet provide display RSC, we end up
duplicating several nodes, which can result in incorrect votes being
cast. Drop *_DISP nodes.

Fixes: d26a56674497 ("interconnect: qcom: Add SM8350 interconnect provider driver")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/interconnect/qcom/sm8350.c | 154 -------------------------------------
 drivers/interconnect/qcom/sm8350.h |  10 ---
 2 files changed, 164 deletions(-)

diff --git a/drivers/interconnect/qcom/sm8350.c b/drivers/interconnect/qcom/sm8350.c
index b321c3009acb..108934fc8ebf 100644
--- a/drivers/interconnect/qcom/sm8350.c
+++ b/drivers/interconnect/qcom/sm8350.c
@@ -628,60 +628,6 @@ static struct qcom_icc_node xm_gic = {
 	.links = { SM8350_SLAVE_SNOC_GEM_NOC_GC },
 };
 
-static struct qcom_icc_node qnm_mnoc_hf_disp = {
-	.name = "qnm_mnoc_hf_disp",
-	.id = SM8350_MASTER_MNOC_HF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_SLAVE_LLCC_DISP },
-};
-
-static struct qcom_icc_node qnm_mnoc_sf_disp = {
-	.name = "qnm_mnoc_sf_disp",
-	.id = SM8350_MASTER_MNOC_SF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_SLAVE_LLCC_DISP },
-};
-
-static struct qcom_icc_node llcc_mc_disp = {
-	.name = "llcc_mc_disp",
-	.id = SM8350_MASTER_LLCC_DISP,
-	.channels = 4,
-	.buswidth = 4,
-	.num_links = 1,
-	.links = { SM8350_SLAVE_EBI1_DISP },
-};
-
-static struct qcom_icc_node qxm_mdp0_disp = {
-	.name = "qxm_mdp0_disp",
-	.id = SM8350_MASTER_MDP0_DISP,
-	.channels = 1,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP },
-};
-
-static struct qcom_icc_node qxm_mdp1_disp = {
-	.name = "qxm_mdp1_disp",
-	.id = SM8350_MASTER_MDP1_DISP,
-	.channels = 1,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP },
-};
-
-static struct qcom_icc_node qxm_rot_disp = {
-	.name = "qxm_rot_disp",
-	.id = SM8350_MASTER_ROTATOR_DISP,
-	.channels = 1,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP },
-};
-
 static struct qcom_icc_node qns_a1noc_snoc = {
 	.name = "qns_a1noc_snoc",
 	.id = SM8350_SLAVE_A1NOC_SNOC,
@@ -1320,40 +1266,6 @@ static struct qcom_icc_node srvc_snoc = {
 	.buswidth = 4,
 };
 
-static struct qcom_icc_node qns_llcc_disp = {
-	.name = "qns_llcc_disp",
-	.id = SM8350_SLAVE_LLCC_DISP,
-	.channels = 4,
-	.buswidth = 16,
-	.num_links = 1,
-	.links = { SM8350_MASTER_LLCC_DISP },
-};
-
-static struct qcom_icc_node ebi_disp = {
-	.name = "ebi_disp",
-	.id = SM8350_SLAVE_EBI1_DISP,
-	.channels = 4,
-	.buswidth = 4,
-};
-
-static struct qcom_icc_node qns_mem_noc_hf_disp = {
-	.name = "qns_mem_noc_hf_disp",
-	.id = SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_MASTER_MNOC_HF_MEM_NOC_DISP },
-};
-
-static struct qcom_icc_node qns_mem_noc_sf_disp = {
-	.name = "qns_mem_noc_sf_disp",
-	.id = SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8350_MASTER_MNOC_SF_MEM_NOC_DISP },
-};
-
 static struct qcom_icc_bcm bcm_acv = {
 	.name = "ACV",
 	.enable_mask = BIT(3),
@@ -1583,55 +1495,6 @@ static struct qcom_icc_bcm bcm_sn14 = {
 	.nodes = { &qns_pcie_mem_noc },
 };
 
-static struct qcom_icc_bcm bcm_acv_disp = {
-	.name = "ACV",
-	.keepalive = false,
-	.num_nodes = 1,
-	.nodes = { &ebi_disp },
-};
-
-static struct qcom_icc_bcm bcm_mc0_disp = {
-	.name = "MC0",
-	.keepalive = false,
-	.num_nodes = 1,
-	.nodes = { &ebi_disp },
-};
-
-static struct qcom_icc_bcm bcm_mm0_disp = {
-	.name = "MM0",
-	.keepalive = false,
-	.num_nodes = 1,
-	.nodes = { &qns_mem_noc_hf_disp },
-};
-
-static struct qcom_icc_bcm bcm_mm1_disp = {
-	.name = "MM1",
-	.keepalive = false,
-	.num_nodes = 2,
-	.nodes = { &qxm_mdp0_disp, &qxm_mdp1_disp },
-};
-
-static struct qcom_icc_bcm bcm_mm4_disp = {
-	.name = "MM4",
-	.keepalive = false,
-	.num_nodes = 1,
-	.nodes = { &qns_mem_noc_sf_disp },
-};
-
-static struct qcom_icc_bcm bcm_mm5_disp = {
-	.name = "MM5",
-	.keepalive = false,
-	.num_nodes = 1,
-	.nodes = { &qxm_rot_disp },
-};
-
-static struct qcom_icc_bcm bcm_sh0_disp = {
-	.name = "SH0",
-	.keepalive = false,
-	.num_nodes = 1,
-	.nodes = { &qns_llcc_disp },
-};
-
 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
 };
 
@@ -1785,7 +1648,6 @@ static struct qcom_icc_bcm * const gem_noc_bcms[] = {
 	&bcm_sh2,
 	&bcm_sh3,
 	&bcm_sh4,
-	&bcm_sh0_disp,
 };
 
 static struct qcom_icc_node * const gem_noc_nodes[] = {
@@ -1808,9 +1670,6 @@ static struct qcom_icc_node * const gem_noc_nodes[] = {
 	[SLAVE_SERVICE_GEM_NOC_1] = &srvc_even_gemnoc,
 	[SLAVE_SERVICE_GEM_NOC_2] = &srvc_odd_gemnoc,
 	[SLAVE_SERVICE_GEM_NOC] = &srvc_sys_gemnoc,
-	[MASTER_MNOC_HF_MEM_NOC_DISP] = &qnm_mnoc_hf_disp,
-	[MASTER_MNOC_SF_MEM_NOC_DISP] = &qnm_mnoc_sf_disp,
-	[SLAVE_LLCC_DISP] = &qns_llcc_disp,
 };
 
 static const struct qcom_icc_desc sm8350_gem_noc = {
@@ -1843,15 +1702,11 @@ static const struct qcom_icc_desc sm8350_lpass_ag_noc = {
 static struct qcom_icc_bcm * const mc_virt_bcms[] = {
 	&bcm_acv,
 	&bcm_mc0,
-	&bcm_acv_disp,
-	&bcm_mc0_disp,
 };
 
 static struct qcom_icc_node * const mc_virt_nodes[] = {
 	[MASTER_LLCC] = &llcc_mc,
 	[SLAVE_EBI1] = &ebi,
-	[MASTER_LLCC_DISP] = &llcc_mc_disp,
-	[SLAVE_EBI1_DISP] = &ebi_disp,
 };
 
 static const struct qcom_icc_desc sm8350_mc_virt = {
@@ -1866,10 +1721,6 @@ static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
 	&bcm_mm1,
 	&bcm_mm4,
 	&bcm_mm5,
-	&bcm_mm0_disp,
-	&bcm_mm1_disp,
-	&bcm_mm4_disp,
-	&bcm_mm5_disp,
 };
 
 static struct qcom_icc_node * const mmss_noc_nodes[] = {
@@ -1886,11 +1737,6 @@ static struct qcom_icc_node * const mmss_noc_nodes[] = {
 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
 	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
-	[MASTER_MDP0_DISP] = &qxm_mdp0_disp,
-	[MASTER_MDP1_DISP] = &qxm_mdp1_disp,
-	[MASTER_ROTATOR_DISP] = &qxm_rot_disp,
-	[SLAVE_MNOC_HF_MEM_NOC_DISP] = &qns_mem_noc_hf_disp,
-	[SLAVE_MNOC_SF_MEM_NOC_DISP] = &qns_mem_noc_sf_disp,
 };
 
 static const struct qcom_icc_desc sm8350_mmss_noc = {
diff --git a/drivers/interconnect/qcom/sm8350.h b/drivers/interconnect/qcom/sm8350.h
index 328d15238a0d..074c6131ab36 100644
--- a/drivers/interconnect/qcom/sm8350.h
+++ b/drivers/interconnect/qcom/sm8350.h
@@ -154,15 +154,5 @@
 #define SM8350_SLAVE_PCIE_1				143
 #define SM8350_SLAVE_QDSS_STM				144
 #define SM8350_SLAVE_TCU				145
-#define SM8350_MASTER_LLCC_DISP				146
-#define SM8350_MASTER_MNOC_HF_MEM_NOC_DISP		147
-#define SM8350_MASTER_MNOC_SF_MEM_NOC_DISP		148
-#define SM8350_MASTER_MDP0_DISP				149
-#define SM8350_MASTER_MDP1_DISP				150
-#define SM8350_MASTER_ROTATOR_DISP			151
-#define SM8350_SLAVE_EBI1_DISP				152
-#define SM8350_SLAVE_LLCC_DISP				153
-#define SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP		154
-#define SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP		155
 
 #endif

-- 
2.39.2


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

* [PATCH 05/11] interconnect: qcom: sm8450: drop DISP nodes
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 04/11] interconnect: qcom: sm8350: drop DISP nodes Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 06/11] dt-bindings: interconnect: qcom,sm8350: " Dmitry Baryshkov
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

The msm-5.x kernels have additional display RSC and separate display BCM
voter. Since upstream kernel doesn't yet provide display RSC, we end up
duplicating several nodes, which can result in incorrect votes being
cast. Drop *_DISP nodes.

Fixes: fafc114a468e ("interconnect: qcom: Add SM8450 interconnect provider driver")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/interconnect/qcom/sm8450.c | 145 -------------------------------------
 drivers/interconnect/qcom/sm8450.h |  12 ---
 2 files changed, 157 deletions(-)

diff --git a/drivers/interconnect/qcom/sm8450.c b/drivers/interconnect/qcom/sm8450.c
index b3cd0087377c..1c61e606915f 100644
--- a/drivers/interconnect/qcom/sm8450.c
+++ b/drivers/interconnect/qcom/sm8450.c
@@ -580,60 +580,6 @@ static struct qcom_icc_node xm_gic = {
 	.links = { SM8450_SLAVE_SNOC_GEM_NOC_GC },
 };
 
-static struct qcom_icc_node qnm_mnoc_hf_disp = {
-	.name = "qnm_mnoc_hf_disp",
-	.id = SM8450_MASTER_MNOC_HF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8450_SLAVE_LLCC_DISP },
-};
-
-static struct qcom_icc_node qnm_mnoc_sf_disp = {
-	.name = "qnm_mnoc_sf_disp",
-	.id = SM8450_MASTER_MNOC_SF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8450_SLAVE_LLCC_DISP },
-};
-
-static struct qcom_icc_node qnm_pcie_disp = {
-	.name = "qnm_pcie_disp",
-	.id = SM8450_MASTER_ANOC_PCIE_GEM_NOC_DISP,
-	.channels = 1,
-	.buswidth = 16,
-	.num_links = 1,
-	.links = { SM8450_SLAVE_LLCC_DISP },
-};
-
-static struct qcom_icc_node llcc_mc_disp = {
-	.name = "llcc_mc_disp",
-	.id = SM8450_MASTER_LLCC_DISP,
-	.channels = 4,
-	.buswidth = 4,
-	.num_links = 1,
-	.links = { SM8450_SLAVE_EBI1_DISP },
-};
-
-static struct qcom_icc_node qnm_mdp_disp = {
-	.name = "qnm_mdp_disp",
-	.id = SM8450_MASTER_MDP_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8450_SLAVE_MNOC_HF_MEM_NOC_DISP },
-};
-
-static struct qcom_icc_node qnm_rot_disp = {
-	.name = "qnm_rot_disp",
-	.id = SM8450_MASTER_ROTATOR_DISP,
-	.channels = 1,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC_DISP },
-};
-
 static struct qcom_icc_node qns_a1noc_snoc = {
 	.name = "qns_a1noc_snoc",
 	.id = SM8450_SLAVE_A1NOC_SNOC,
@@ -1302,41 +1248,6 @@ static struct qcom_icc_node srvc_snoc = {
 	.num_links = 0,
 };
 
-static struct qcom_icc_node qns_llcc_disp = {
-	.name = "qns_llcc_disp",
-	.id = SM8450_SLAVE_LLCC_DISP,
-	.channels = 4,
-	.buswidth = 16,
-	.num_links = 1,
-	.links = { SM8450_MASTER_LLCC_DISP },
-};
-
-static struct qcom_icc_node ebi_disp = {
-	.name = "ebi_disp",
-	.id = SM8450_SLAVE_EBI1_DISP,
-	.channels = 4,
-	.buswidth = 4,
-	.num_links = 0,
-};
-
-static struct qcom_icc_node qns_mem_noc_hf_disp = {
-	.name = "qns_mem_noc_hf_disp",
-	.id = SM8450_SLAVE_MNOC_HF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8450_MASTER_MNOC_HF_MEM_NOC_DISP },
-};
-
-static struct qcom_icc_node qns_mem_noc_sf_disp = {
-	.name = "qns_mem_noc_sf_disp",
-	.id = SM8450_SLAVE_MNOC_SF_MEM_NOC_DISP,
-	.channels = 2,
-	.buswidth = 32,
-	.num_links = 1,
-	.links = { SM8450_MASTER_MNOC_SF_MEM_NOC_DISP },
-};
-
 static struct qcom_icc_bcm bcm_acv = {
 	.name = "ACV",
 	.enable_mask = 0x8,
@@ -1498,46 +1409,6 @@ static struct qcom_icc_bcm bcm_sn7 = {
 	.nodes = { &qns_pcie_mem_noc },
 };
 
-static struct qcom_icc_bcm bcm_acv_disp = {
-	.name = "ACV",
-	.enable_mask = 0x1,
-	.num_nodes = 1,
-	.nodes = { &ebi_disp },
-};
-
-static struct qcom_icc_bcm bcm_mc0_disp = {
-	.name = "MC0",
-	.num_nodes = 1,
-	.nodes = { &ebi_disp },
-};
-
-static struct qcom_icc_bcm bcm_mm0_disp = {
-	.name = "MM0",
-	.num_nodes = 1,
-	.nodes = { &qns_mem_noc_hf_disp },
-};
-
-static struct qcom_icc_bcm bcm_mm1_disp = {
-	.name = "MM1",
-	.enable_mask = 0x1,
-	.num_nodes = 3,
-	.nodes = { &qnm_mdp_disp, &qnm_rot_disp,
-		   &qns_mem_noc_sf_disp },
-};
-
-static struct qcom_icc_bcm bcm_sh0_disp = {
-	.name = "SH0",
-	.num_nodes = 1,
-	.nodes = { &qns_llcc_disp },
-};
-
-static struct qcom_icc_bcm bcm_sh1_disp = {
-	.name = "SH1",
-	.enable_mask = 0x1,
-	.num_nodes = 1,
-	.nodes = { &qnm_pcie_disp },
-};
-
 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
 };
 
@@ -1680,8 +1551,6 @@ static const struct qcom_icc_desc sm8450_config_noc = {
 static struct qcom_icc_bcm * const gem_noc_bcms[] = {
 	&bcm_sh0,
 	&bcm_sh1,
-	&bcm_sh0_disp,
-	&bcm_sh1_disp,
 };
 
 static struct qcom_icc_node * const gem_noc_nodes[] = {
@@ -1699,10 +1568,6 @@ static struct qcom_icc_node * const gem_noc_nodes[] = {
 	[SLAVE_GEM_NOC_CNOC] = &qns_gem_noc_cnoc,
 	[SLAVE_LLCC] = &qns_llcc,
 	[SLAVE_MEM_NOC_PCIE_SNOC] = &qns_pcie,
-	[MASTER_MNOC_HF_MEM_NOC_DISP] = &qnm_mnoc_hf_disp,
-	[MASTER_MNOC_SF_MEM_NOC_DISP] = &qnm_mnoc_sf_disp,
-	[MASTER_ANOC_PCIE_GEM_NOC_DISP] = &qnm_pcie_disp,
-	[SLAVE_LLCC_DISP] = &qns_llcc_disp,
 };
 
 static const struct qcom_icc_desc sm8450_gem_noc = {
@@ -1737,15 +1602,11 @@ static const struct qcom_icc_desc sm8450_lpass_ag_noc = {
 static struct qcom_icc_bcm * const mc_virt_bcms[] = {
 	&bcm_acv,
 	&bcm_mc0,
-	&bcm_acv_disp,
-	&bcm_mc0_disp,
 };
 
 static struct qcom_icc_node * const mc_virt_nodes[] = {
 	[MASTER_LLCC] = &llcc_mc,
 	[SLAVE_EBI1] = &ebi,
-	[MASTER_LLCC_DISP] = &llcc_mc_disp,
-	[SLAVE_EBI1_DISP] = &ebi_disp,
 };
 
 static const struct qcom_icc_desc sm8450_mc_virt = {
@@ -1758,8 +1619,6 @@ static const struct qcom_icc_desc sm8450_mc_virt = {
 static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
 	&bcm_mm0,
 	&bcm_mm1,
-	&bcm_mm0_disp,
-	&bcm_mm1_disp,
 };
 
 static struct qcom_icc_node * const mmss_noc_nodes[] = {
@@ -1777,10 +1636,6 @@ static struct qcom_icc_node * const mmss_noc_nodes[] = {
 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
 	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
-	[MASTER_MDP_DISP] = &qnm_mdp_disp,
-	[MASTER_ROTATOR_DISP] = &qnm_rot_disp,
-	[SLAVE_MNOC_HF_MEM_NOC_DISP] = &qns_mem_noc_hf_disp,
-	[SLAVE_MNOC_SF_MEM_NOC_DISP] = &qns_mem_noc_sf_disp,
 };
 
 static const struct qcom_icc_desc sm8450_mmss_noc = {
diff --git a/drivers/interconnect/qcom/sm8450.h b/drivers/interconnect/qcom/sm8450.h
index a5790ec6767b..e1e91ed3f77e 100644
--- a/drivers/interconnect/qcom/sm8450.h
+++ b/drivers/interconnect/qcom/sm8450.h
@@ -153,17 +153,5 @@
 #define SM8450_SLAVE_PCIE_1				590
 #define SM8450_SLAVE_QDSS_STM				591
 #define SM8450_SLAVE_TCU				592
-#define SM8450_MASTER_LLCC_DISP				1000
-#define SM8450_MASTER_MDP_DISP				1001
-#define SM8450_MASTER_MDP0_DISP				SM8450_MASTER_MDP_DISP
-#define SM8450_MASTER_MDP1_DISP				SM8450_MASTER_MDP_DISP
-#define SM8450_MASTER_MNOC_HF_MEM_NOC_DISP		1002
-#define SM8450_MASTER_MNOC_SF_MEM_NOC_DISP		1003
-#define SM8450_MASTER_ANOC_PCIE_GEM_NOC_DISP		1004
-#define SM8450_MASTER_ROTATOR_DISP			1005
-#define SM8450_SLAVE_EBI1_DISP				1512
-#define SM8450_SLAVE_LLCC_DISP				1513
-#define SM8450_SLAVE_MNOC_HF_MEM_NOC_DISP		1514
-#define SM8450_SLAVE_MNOC_SF_MEM_NOC_DISP		1515
 
 #endif

-- 
2.39.2


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

* [PATCH 06/11] dt-bindings: interconnect: qcom,sm8350: drop DISP nodes
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (4 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 05/11] interconnect: qcom: sm8450: " Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-05  5:59   ` Krzysztof Kozlowski
  2024-08-04  5:40 ` [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: " Dmitry Baryshkov
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

Vendor msm-5.x kernels declared duplicate indices for some of display
nodes to be used by separate display RSC and BCM voters. As it is not
clear how this separate BCM should be modelled upstream and the device
trees do not use these indices, drop them for now.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 include/dt-bindings/interconnect/qcom,sm8350.h | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/include/dt-bindings/interconnect/qcom,sm8350.h b/include/dt-bindings/interconnect/qcom,sm8350.h
index c7f7ed315aeb..2282f93607bc 100644
--- a/include/dt-bindings/interconnect/qcom,sm8350.h
+++ b/include/dt-bindings/interconnect/qcom,sm8350.h
@@ -119,9 +119,6 @@
 #define SLAVE_SERVICE_GEM_NOC_1		16
 #define SLAVE_SERVICE_GEM_NOC_2		17
 #define SLAVE_SERVICE_GEM_NOC		18
-#define MASTER_MNOC_HF_MEM_NOC_DISP	19
-#define MASTER_MNOC_SF_MEM_NOC_DISP	20
-#define SLAVE_LLCC_DISP			21
 
 #define MASTER_CNOC_LPASS_AG_NOC	0
 #define SLAVE_LPASS_CORE_CFG		1
@@ -133,8 +130,6 @@
 
 #define MASTER_LLCC			0
 #define SLAVE_EBI1			1
-#define MASTER_LLCC_DISP		2
-#define SLAVE_EBI1_DISP			3
 
 #define MASTER_CAMNOC_HF		0
 #define MASTER_CAMNOC_ICP		1
@@ -149,11 +144,6 @@
 #define SLAVE_MNOC_HF_MEM_NOC		10
 #define SLAVE_MNOC_SF_MEM_NOC		11
 #define SLAVE_SERVICE_MNOC		12
-#define MASTER_MDP0_DISP		13
-#define MASTER_MDP1_DISP		14
-#define MASTER_ROTATOR_DISP		15
-#define SLAVE_MNOC_HF_MEM_NOC_DISP	16
-#define SLAVE_MNOC_SF_MEM_NOC_DISP	17
 
 #define MASTER_CDSP_NOC_CFG		0
 #define MASTER_CDSP_PROC		1

-- 
2.39.2


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

* [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (5 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 06/11] dt-bindings: interconnect: qcom,sm8350: " Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  8:49   ` kernel test robot
  2024-08-05  6:00   ` Krzysztof Kozlowski
  2024-08-04  5:40 ` [PATCH 08/11] interconnect: qcom: sm8250: Enable sync_state Dmitry Baryshkov
                   ` (6 subsequent siblings)
  13 siblings, 2 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

Vendor msm-5.x kernels declared duplicate indices for some of display
nodes to be used by separate display RSC and BCM voters. As it is not
clear how this separate BCM should be modelled upstream and the device
trees do not use these indices, drop them for now.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 include/dt-bindings/interconnect/qcom,sm8450.h | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/include/dt-bindings/interconnect/qcom,sm8450.h b/include/dt-bindings/interconnect/qcom,sm8450.h
index 8f3c5e1fb4c4..1fe7839d9f13 100644
--- a/include/dt-bindings/interconnect/qcom,sm8450.h
+++ b/include/dt-bindings/interconnect/qcom,sm8450.h
@@ -107,10 +107,6 @@
 #define SLAVE_GEM_NOC_CNOC			11
 #define SLAVE_LLCC				12
 #define SLAVE_MEM_NOC_PCIE_SNOC			13
-#define MASTER_MNOC_HF_MEM_NOC_DISP		14
-#define MASTER_MNOC_SF_MEM_NOC_DISP		15
-#define MASTER_ANOC_PCIE_GEM_NOC_DISP		16
-#define SLAVE_LLCC_DISP				17
 
 #define MASTER_CNOC_LPASS_AG_NOC		0
 #define MASTER_LPASS_PROC			1
@@ -124,8 +120,6 @@
 
 #define MASTER_LLCC				0
 #define SLAVE_EBI1				1
-#define MASTER_LLCC_DISP			2
-#define SLAVE_EBI1_DISP				3
 
 #define MASTER_CAMNOC_HF			0
 #define MASTER_CAMNOC_ICP			1
@@ -141,10 +135,6 @@
 #define SLAVE_MNOC_HF_MEM_NOC			11
 #define SLAVE_MNOC_SF_MEM_NOC			12
 #define SLAVE_SERVICE_MNOC			13
-#define MASTER_MDP_DISP				14
-#define MASTER_ROTATOR_DISP			15
-#define SLAVE_MNOC_HF_MEM_NOC_DISP		16
-#define SLAVE_MNOC_SF_MEM_NOC_DISP		17
 
 #define MASTER_CDSP_NOC_CFG			0
 #define MASTER_CDSP_PROC			1

-- 
2.39.2


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

* [PATCH 08/11] interconnect: qcom: sm8250: Enable sync_state
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (6 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: " Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 09/11] arm64: dts: qcom: sm8350: add MDSS registers interconnect Dmitry Baryshkov
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

Enable the generic icc sync_state callback to ensure interconnect votes
are actually taken into account, instead of being forced to the maximum
value.

Fixes: b95b668eaaa2 ("interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/interconnect/qcom/sm8350.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/interconnect/qcom/sm8350.c b/drivers/interconnect/qcom/sm8350.c
index 108934fc8ebf..4236a43dc256 100644
--- a/drivers/interconnect/qcom/sm8350.c
+++ b/drivers/interconnect/qcom/sm8350.c
@@ -1811,6 +1811,7 @@ static struct platform_driver qnoc_driver = {
 	.driver = {
 		.name = "qnoc-sm8350",
 		.of_match_table = qnoc_of_match,
+		.sync_state = icc_sync_state,
 	},
 };
 module_platform_driver(qnoc_driver);

-- 
2.39.2


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

* [PATCH 09/11] arm64: dts: qcom: sm8350: add MDSS registers interconnect
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (7 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 08/11] interconnect: qcom: sm8250: Enable sync_state Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 10/11] arm64: dts: qcom: sm8350: add refgen regulator Dmitry Baryshkov
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

Aside from the MDSS<->MEM interconnect, display devices have separate
interconnect for register access. Add this interconnect to the display
node.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8350.dtsi | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 38ee0850c335..27f36e6366df 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -2490,8 +2490,12 @@ mdss: display-subsystem@ae00000 {
 			reg-names = "mdss";
 
 			interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
-					<&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>;
-			interconnect-names = "mdp0-mem", "mdp1-mem";
+					<&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>,
+					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+					 &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
+			interconnect-names = "mdp0-mem",
+					     "mdp1-mem",
+					     "cpu-cfg";
 
 			power-domains = <&dispcc MDSS_GDSC>;
 			resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;

-- 
2.39.2


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

* [PATCH 10/11] arm64: dts: qcom: sm8350: add refgen regulator
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (8 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 09/11] arm64: dts: qcom: sm8350: add MDSS registers interconnect Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-04  5:40 ` [PATCH 11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module Dmitry Baryshkov
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

On SM8350 platform the DSI internally is using the refgen regulator. Add
corresponding device node and link it as a supply to the DSI node.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8350.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 27f36e6366df..37a2aba0d4ca 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -2251,6 +2251,12 @@ usb_2_hsphy: phy@88e4000 {
 			resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
 		};
 
+		refgen: regulator@88e7000 {
+			compatible = "qcom,sm8350-refgen-regulator",
+				     "qcom,sm8250-refgen-regulator";
+			reg = <0x0 0x088e7000 0x0 0x84>;
+		};
+
 		usb_1_qmpphy: phy@88e8000 {
 			compatible = "qcom,sm8350-qmp-usb3-dp-phy";
 			reg = <0 0x088e8000 0 0x3000>;
@@ -2710,6 +2716,7 @@ mdss_dsi0: dsi@ae94000 {
 
 				operating-points-v2 = <&dsi0_opp_table>;
 				power-domains = <&rpmhpd RPMHPD_MMCX>;
+				refgen-supply = <&refgen>;
 
 				phys = <&mdss_dsi0_phy>;
 
@@ -2808,6 +2815,7 @@ mdss_dsi1: dsi@ae96000 {
 
 				operating-points-v2 = <&dsi1_opp_table>;
 				power-domains = <&rpmhpd RPMHPD_MMCX>;
+				refgen-supply = <&refgen>;
 
 				phys = <&mdss_dsi1_phy>;
 

-- 
2.39.2


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

* [PATCH 11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (9 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 10/11] arm64: dts: qcom: sm8350: add refgen regulator Dmitry Baryshkov
@ 2024-08-04  5:40 ` Dmitry Baryshkov
  2024-08-05  6:00   ` Krzysztof Kozlowski
  2024-08-15 20:40 ` (subset) [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Bjorn Andersson
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  5:40 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, Dmitry Baryshkov

Enable CONFIG_REGULATOR_QCOM_REFGEN and build it as a module. It is an
internal supply used by the DSI on SM8350-based platforms (e.g. on the
SM8350 HDK device).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 7d32fca64996..20e07ceaf239 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -785,6 +785,7 @@ CONFIG_REGULATOR_PCA9450=y
 CONFIG_REGULATOR_PF8X00=y
 CONFIG_REGULATOR_PFUZE100=y
 CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_REFGEN=m
 CONFIG_REGULATOR_QCOM_RPMH=y
 CONFIG_REGULATOR_QCOM_SMD_RPM=y
 CONFIG_REGULATOR_QCOM_SPMI=y

-- 
2.39.2


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

* Re: [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
  2024-08-04  5:40 ` [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: " Dmitry Baryshkov
@ 2024-08-04  8:49   ` kernel test robot
  2024-08-04  9:16     ` Dmitry Baryshkov
  2024-08-05  6:00   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 21+ messages in thread
From: kernel test robot @ 2024-08-04  8:49 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Jonathan Marek, Robert Foss, Vinod Koul, Rob Clark,
	Abhinav Kumar, Sean Paul, Marijn Suijten, David Airlie,
	Daniel Vetter, Konrad Dybcio, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mike Tipton, Catalin Marinas,
	Will Deacon
  Cc: oe-kbuild-all, linux-arm-msm, linux-clk, linux-kernel, dri-devel,
	freedreno, linux-pm, devicetree, linux-arm-kernel,
	Dmitry Baryshkov

Hi Dmitry,

kernel test robot noticed the following build errors:

[auto build test ERROR on 668d33c9ff922c4590c58754ab064aaf53c387dd]

url:    https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/clk-qcom-dispcc-sm8250-use-CLK_SET_RATE_PARENT-for-branch-clocks/20240804-134328
base:   668d33c9ff922c4590c58754ab064aaf53c387dd
patch link:    https://lore.kernel.org/r/20240804-sm8350-fixes-v1-7-1149dd8399fe%40linaro.org
patch subject: [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
config: arm64-randconfig-051-20240804 (https://download.01.org/0day-ci/archive/20240804/202408041643.qHy043eG-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
dtschema version: 2024.6.dev8+gf13c181
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240804/202408041643.qHy043eG-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408041643.qHy043eG-lkp@intel.com/

All errors (new ones prefixed by >>):

>> Error: arch/arm64/boot/dts/qcom/sm8450.dtsi:3055.31-32 syntax error
   FATAL ERROR: Unable to parse input tree

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
  2024-08-04  8:49   ` kernel test robot
@ 2024-08-04  9:16     ` Dmitry Baryshkov
  0 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-08-04  9:16 UTC (permalink / raw)
  To: kernel test robot
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon, oe-kbuild-all,
	linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel

On Sun, 4 Aug 2024 at 11:50, kernel test robot <lkp@intel.com> wrote:
>
> Hi Dmitry,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on 668d33c9ff922c4590c58754ab064aaf53c387dd]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/clk-qcom-dispcc-sm8250-use-CLK_SET_RATE_PARENT-for-branch-clocks/20240804-134328
> base:   668d33c9ff922c4590c58754ab064aaf53c387dd
> patch link:    https://lore.kernel.org/r/20240804-sm8350-fixes-v1-7-1149dd8399fe%40linaro.org
> patch subject: [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
> config: arm64-randconfig-051-20240804 (https://download.01.org/0day-ci/archive/20240804/202408041643.qHy043eG-lkp@intel.com/config)
> compiler: aarch64-linux-gcc (GCC) 14.1.0
> dtschema version: 2024.6.dev8+gf13c181
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240804/202408041643.qHy043eG-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202408041643.qHy043eG-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> >> Error: arch/arm64/boot/dts/qcom/sm8450.dtsi:3055.31-32 syntax error
>    FATAL ERROR: Unable to parse input tree

I see, I had this patched in my tree. So for sm8450 we have to keep
backwards compatibility. Please ignore sm8450 patches.

-- 
With best wishes
Dmitry

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

* Re: [PATCH 06/11] dt-bindings: interconnect: qcom,sm8350: drop DISP nodes
  2024-08-04  5:40 ` [PATCH 06/11] dt-bindings: interconnect: qcom,sm8350: " Dmitry Baryshkov
@ 2024-08-05  5:59   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-05  5:59 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Jonathan Marek, Robert Foss, Vinod Koul, Rob Clark,
	Abhinav Kumar, Sean Paul, Marijn Suijten, David Airlie,
	Daniel Vetter, Konrad Dybcio, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mike Tipton, Catalin Marinas,
	Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel

On 04/08/2024 07:40, Dmitry Baryshkov wrote:
> Vendor msm-5.x kernels declared duplicate indices for some of display
> nodes to be used by separate display RSC and BCM voters. As it is not
> clear how this separate BCM should be modelled upstream and the device
> trees do not use these indices, drop them for now.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: drop DISP nodes
  2024-08-04  5:40 ` [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: " Dmitry Baryshkov
  2024-08-04  8:49   ` kernel test robot
@ 2024-08-05  6:00   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-05  6:00 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Jonathan Marek, Robert Foss, Vinod Koul, Rob Clark,
	Abhinav Kumar, Sean Paul, Marijn Suijten, David Airlie,
	Daniel Vetter, Konrad Dybcio, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mike Tipton, Catalin Marinas,
	Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel

On 04/08/2024 07:40, Dmitry Baryshkov wrote:
> Vendor msm-5.x kernels declared duplicate indices for some of display
> nodes to be used by separate display RSC and BCM voters. As it is not
> clear how this separate BCM should be modelled upstream and the device
> trees do not use these indices, drop them for now.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH 11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module
  2024-08-04  5:40 ` [PATCH 11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module Dmitry Baryshkov
@ 2024-08-05  6:00   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-05  6:00 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Jonathan Marek, Robert Foss, Vinod Koul, Rob Clark,
	Abhinav Kumar, Sean Paul, Marijn Suijten, David Airlie,
	Daniel Vetter, Konrad Dybcio, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mike Tipton, Catalin Marinas,
	Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel

On 04/08/2024 07:40, Dmitry Baryshkov wrote:
> Enable CONFIG_REGULATOR_QCOM_REFGEN and build it as a module. It is an
> internal supply used by the DSI on SM8350-based platforms (e.g. on the
> SM8350 HDK device).
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: (subset) [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (10 preceding siblings ...)
  2024-08-04  5:40 ` [PATCH 11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module Dmitry Baryshkov
@ 2024-08-15 20:40 ` Bjorn Andersson
  2024-08-15 22:44 ` Bjorn Andersson
  2024-09-05  3:33 ` Dmitry Baryshkov
  13 siblings, 0 replies; 21+ messages in thread
From: Bjorn Andersson @ 2024-08-15 20:40 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Jonathan Marek, Robert Foss,
	Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul, Marijn Suijten,
	David Airlie, Daniel Vetter, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mike Tipton, Catalin Marinas,
	Will Deacon, Konrad Dybcio, Dmitry Baryshkov
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, stable


On Sun, 04 Aug 2024 08:40:04 +0300, Dmitry Baryshkov wrote:
> A set of fixes that target stability of the SM8350 platform.
> 
> 

Applied, thanks!

[11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module
        commit: 115c14ee54aae1d61d2405f9b31f67c1e8947f4e

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

* Re: (subset) [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (11 preceding siblings ...)
  2024-08-15 20:40 ` (subset) [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Bjorn Andersson
@ 2024-08-15 22:44 ` Bjorn Andersson
  2024-09-05  3:33 ` Dmitry Baryshkov
  13 siblings, 0 replies; 21+ messages in thread
From: Bjorn Andersson @ 2024-08-15 22:44 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Jonathan Marek, Robert Foss,
	Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul, Marijn Suijten,
	David Airlie, Daniel Vetter, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mike Tipton, Catalin Marinas,
	Will Deacon, Konrad Dybcio, Dmitry Baryshkov
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, stable


On Sun, 04 Aug 2024 08:40:04 +0300, Dmitry Baryshkov wrote:
> A set of fixes that target stability of the SM8350 platform.
> 
> 

Applied, thanks!

[09/11] arm64: dts: qcom: sm8350: add MDSS registers interconnect
        commit: 5e1cf9f1f397a3d24dc6b06eda069be954504a16
[10/11] arm64: dts: qcom: sm8350: add refgen regulator
        commit: 08822cf3de00f1b9edb01b995d926595e48a54eb

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

* Re: [PATCH 03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450
  2024-08-04  5:40 ` [PATCH 03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450 Dmitry Baryshkov
@ 2024-08-28 20:33   ` Abhinav Kumar
  0 siblings, 0 replies; 21+ messages in thread
From: Abhinav Kumar @ 2024-08-28 20:33 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Jonathan Marek, Robert Foss, Vinod Koul, Rob Clark,
	Sean Paul, Marijn Suijten, David Airlie, Daniel Vetter,
	Konrad Dybcio, Georgi Djakov, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Mike Tipton, Catalin Marinas, Will Deacon
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel



On 8/3/2024 10:40 PM, Dmitry Baryshkov wrote:
> According to the display-drivers, 5nm DSI PLL (v4.2, v4.3) have
> different boundaries for pll_clock_inverters programming. Follow the
> vendor code and use correct values.
> 
> Fixes: 2f9ae4e395ed ("drm/msm/dsi: add support for DSI-PHY on SM8350 and SM8450")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 12 +++++++++++-
>   1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
> index 3b59137ca674..031446c87dae 100644
> --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
> +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
> @@ -135,7 +135,7 @@ static void dsi_pll_calc_dec_frac(struct dsi_pll_7nm *pll, struct dsi_pll_config
>   			config->pll_clock_inverters = 0x00;
>   		else
>   			config->pll_clock_inverters = 0x40;
> -	} else {
> +	} else if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) {
>   		if (pll_freq <= 1000000000ULL)
>   			config->pll_clock_inverters = 0xa0;
>   		else if (pll_freq <= 2500000000ULL)
> @@ -144,6 +144,16 @@ static void dsi_pll_calc_dec_frac(struct dsi_pll_7nm *pll, struct dsi_pll_config
>   			config->pll_clock_inverters = 0x00;
>   		else
>   			config->pll_clock_inverters = 0x40;
> +	} else {
> +		/* 4.2, 4.3 */
> +		if (pll_freq <= 1000000000ULL)
> +			config->pll_clock_inverters = 0xa0;
> +		else if (pll_freq <= 2500000000ULL)
> +			config->pll_clock_inverters = 0x20;
> +		else if (pll_freq <= 3500000000ULL)
> +			config->pll_clock_inverters = 0x00;
> +		else
> +			config->pll_clock_inverters = 0x40;
>   	}


Sorry for the delay, my request for the docs was first rejected for some 
reason :)

Now I finally got access and this matches the docs

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

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

* Re: [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform
  2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
                   ` (12 preceding siblings ...)
  2024-08-15 22:44 ` Bjorn Andersson
@ 2024-09-05  3:33 ` Dmitry Baryshkov
  13 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2024-09-05  3:33 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Jonathan Marek,
	Robert Foss, Vinod Koul, Rob Clark, Abhinav Kumar, Sean Paul,
	Marijn Suijten, David Airlie, Daniel Vetter, Konrad Dybcio,
	Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Mike Tipton, Catalin Marinas, Will Deacon, Dmitry Baryshkov
  Cc: linux-arm-msm, linux-clk, linux-kernel, dri-devel, freedreno,
	linux-pm, devicetree, linux-arm-kernel, stable


On Sun, 04 Aug 2024 08:40:04 +0300, Dmitry Baryshkov wrote:
> A set of fixes that target stability of the SM8350 platform.
> 
> 

Applied, thanks!

[03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450
        https://gitlab.freedesktop.org/lumag/msm/-/commit/1328cb7c34bf

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

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

end of thread, other threads:[~2024-09-05  3:33 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-04  5:40 [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 01/11] clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 02/11] clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 03/11] drm/msm/dsi: correct programming sequence for SM8350 / SM8450 Dmitry Baryshkov
2024-08-28 20:33   ` Abhinav Kumar
2024-08-04  5:40 ` [PATCH 04/11] interconnect: qcom: sm8350: drop DISP nodes Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 05/11] interconnect: qcom: sm8450: " Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 06/11] dt-bindings: interconnect: qcom,sm8350: " Dmitry Baryshkov
2024-08-05  5:59   ` Krzysztof Kozlowski
2024-08-04  5:40 ` [PATCH 07/11] dt-bindings: interconnect: qcom,sm8450: " Dmitry Baryshkov
2024-08-04  8:49   ` kernel test robot
2024-08-04  9:16     ` Dmitry Baryshkov
2024-08-05  6:00   ` Krzysztof Kozlowski
2024-08-04  5:40 ` [PATCH 08/11] interconnect: qcom: sm8250: Enable sync_state Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 09/11] arm64: dts: qcom: sm8350: add MDSS registers interconnect Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 10/11] arm64: dts: qcom: sm8350: add refgen regulator Dmitry Baryshkov
2024-08-04  5:40 ` [PATCH 11/11] arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module Dmitry Baryshkov
2024-08-05  6:00   ` Krzysztof Kozlowski
2024-08-15 20:40 ` (subset) [PATCH 00/11] arm64: qcom: set of fixes for SM8350 platform Bjorn Andersson
2024-08-15 22:44 ` Bjorn Andersson
2024-09-05  3:33 ` Dmitry Baryshkov

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).