All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Refactor the rpmhpd macros
@ 2023-07-06  9:20 Rohit Agarwal
  2023-07-06  9:20 ` [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries Rohit Agarwal
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06  9:20 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree, Rohit Agarwal

Hi,

This series updates the rpmhpd macros defined to use a more generic
set of macros to avoid adding SoC specific entry everytime. This increases
the reusability of the macros and almost deletes 300 lines of code.

The macros are arranged based on the frequencies in the SoC entry
in the driver to avoid extra wastage of memory.

Thanks,
Rohit.

Rohit Agarwal (3):
  dt-bindings: power: rpmpd: Remove the SoC specific entries
  soc: qcom: rpmpd: Update the entries of PD macros
  soc: qcom: rpmphd: Update the entries of PD macros

 drivers/soc/qcom/rpmhpd.c              | 338 ++++++++++++++--------------
 drivers/soc/qcom/rpmpd.c               | 216 +++++++++---------
 include/dt-bindings/power/qcom-rpmpd.h | 389 ++++-----------------------------
 3 files changed, 323 insertions(+), 620 deletions(-)

-- 
2.7.4


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

* [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06  9:20 [PATCH 0/3] Refactor the rpmhpd macros Rohit Agarwal
@ 2023-07-06  9:20 ` Rohit Agarwal
  2023-07-06  9:59   ` Konrad Dybcio
  2023-07-06 10:45   ` Krzysztof Kozlowski
  2023-07-06  9:20 ` [PATCH 2/3] soc: qcom: rpmpd: Update the entries of PD macros Rohit Agarwal
  2023-07-06  9:20 ` [PATCH 3/3] soc: qcom: rpmphd: " Rohit Agarwal
  2 siblings, 2 replies; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06  9:20 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree, Rohit Agarwal

Remove the SoC specific entries and add a generic set of defines
that can be used by all the SoCs. This will remove the duplicate
entries among SoCs.
The arrangement of the defines is done according to the frequency
used in SoC specific entries in the driver to avoid wastage of
memory.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 include/dt-bindings/power/qcom-rpmpd.h | 389 ++++-----------------------------
 1 file changed, 46 insertions(+), 343 deletions(-)

diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index 83be996..fa2ed08 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -4,216 +4,52 @@
 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
 
-/* SA8775P Power Domain Indexes */
-#define SA8775P_CX	0
-#define SA8775P_CX_AO	1
-#define SA8775P_DDR	2
-#define SA8775P_EBI	3
-#define SA8775P_GFX	4
-#define SA8775P_LCX	5
-#define SA8775P_LMX	6
-#define SA8775P_MMCX	7
-#define SA8775P_MMCX_AO	8
-#define SA8775P_MSS	9
-#define SA8775P_MX	10
-#define SA8775P_MX_AO	11
-#define SA8775P_MXC	12
-#define SA8775P_MXC_AO	13
-#define SA8775P_NSP0	14
-#define SA8775P_NSP1	15
-#define SA8775P_XO	16
-
-/* SDM670 Power Domain Indexes */
-#define SDM670_MX	0
-#define SDM670_MX_AO	1
-#define SDM670_CX	2
-#define SDM670_CX_AO	3
-#define SDM670_LMX	4
-#define SDM670_LCX	5
-#define SDM670_GFX	6
-#define SDM670_MSS	7
-
-/* SDM845 Power Domain Indexes */
-#define SDM845_EBI	0
-#define SDM845_MX	1
-#define SDM845_MX_AO	2
-#define SDM845_CX	3
-#define SDM845_CX_AO	4
-#define SDM845_LMX	5
-#define SDM845_LCX	6
-#define SDM845_GFX	7
-#define SDM845_MSS	8
-
-/* SDX55 Power Domain Indexes */
-#define SDX55_MSS	0
-#define SDX55_MX	1
-#define SDX55_CX	2
-
-/* SDX65 Power Domain Indexes */
-#define SDX65_MSS	0
-#define SDX65_MX	1
-#define SDX65_MX_AO	2
-#define SDX65_CX	3
-#define SDX65_CX_AO	4
-#define SDX65_MXC	5
-
-/* SM6350 Power Domain Indexes */
-#define SM6350_CX	0
-#define SM6350_GFX	1
-#define SM6350_LCX	2
-#define SM6350_LMX	3
-#define SM6350_MSS	4
-#define SM6350_MX	5
-
-/* SM6350 Power Domain Indexes */
-#define SM6375_VDDCX		0
-#define SM6375_VDDCX_AO	1
-#define SM6375_VDDCX_VFL	2
-#define SM6375_VDDMX		3
-#define SM6375_VDDMX_AO	4
-#define SM6375_VDDMX_VFL	5
-#define SM6375_VDDGX		6
-#define SM6375_VDDGX_AO	7
-#define SM6375_VDD_LPI_CX	8
-#define SM6375_VDD_LPI_MX	9
-
-/* SM8150 Power Domain Indexes */
-#define SM8150_MSS	0
-#define SM8150_EBI	1
-#define SM8150_LMX	2
-#define SM8150_LCX	3
-#define SM8150_GFX	4
-#define SM8150_MX	5
-#define SM8150_MX_AO	6
-#define SM8150_CX	7
-#define SM8150_CX_AO	8
-#define SM8150_MMCX	9
-#define SM8150_MMCX_AO	10
-
-/* SA8155P is a special case, kept for backwards compatibility */
-#define SA8155P_CX	SM8150_CX
-#define SA8155P_CX_AO	SM8150_CX_AO
-#define SA8155P_EBI	SM8150_EBI
-#define SA8155P_GFX	SM8150_GFX
-#define SA8155P_MSS	SM8150_MSS
-#define SA8155P_MX	SM8150_MX
-#define SA8155P_MX_AO	SM8150_MX_AO
-
-/* SM8250 Power Domain Indexes */
-#define SM8250_CX	0
-#define SM8250_CX_AO	1
-#define SM8250_EBI	2
-#define SM8250_GFX	3
-#define SM8250_LCX	4
-#define SM8250_LMX	5
-#define SM8250_MMCX	6
-#define SM8250_MMCX_AO	7
-#define SM8250_MX	8
-#define SM8250_MX_AO	9
-
-/* SM8350 Power Domain Indexes */
-#define SM8350_CX	0
-#define SM8350_CX_AO	1
-#define SM8350_EBI	2
-#define SM8350_GFX	3
-#define SM8350_LCX	4
-#define SM8350_LMX	5
-#define SM8350_MMCX	6
-#define SM8350_MMCX_AO	7
-#define SM8350_MX	8
-#define SM8350_MX_AO	9
-#define SM8350_MXC	10
-#define SM8350_MXC_AO	11
-#define SM8350_MSS	12
-
-/* SM8450 Power Domain Indexes */
-#define SM8450_CX	0
-#define SM8450_CX_AO	1
-#define SM8450_EBI	2
-#define SM8450_GFX	3
-#define SM8450_LCX	4
-#define SM8450_LMX	5
-#define SM8450_MMCX	6
-#define SM8450_MMCX_AO	7
-#define SM8450_MX	8
-#define SM8450_MX_AO	9
-#define SM8450_MXC	10
-#define SM8450_MXC_AO	11
-#define SM8450_MSS	12
-
-/* SM8550 Power Domain Indexes */
-#define SM8550_CX	0
-#define SM8550_CX_AO	1
-#define SM8550_EBI	2
-#define SM8550_GFX	3
-#define SM8550_LCX	4
-#define SM8550_LMX	5
-#define SM8550_MMCX	6
-#define SM8550_MMCX_AO	7
-#define SM8550_MX	8
-#define SM8550_MX_AO	9
-#define SM8550_MXC	10
-#define SM8550_MXC_AO	11
-#define SM8550_MSS	12
-#define SM8550_NSP	13
-
-/* QDU1000/QRU1000 Power Domain Indexes */
-#define QDU1000_EBI	0
-#define QDU1000_MSS	1
-#define QDU1000_CX	2
-#define QDU1000_MX	3
-
-/* SC7180 Power Domain Indexes */
-#define SC7180_CX	0
-#define SC7180_CX_AO	1
-#define SC7180_GFX	2
-#define SC7180_MX	3
-#define SC7180_MX_AO	4
-#define SC7180_LMX	5
-#define SC7180_LCX	6
-#define SC7180_MSS	7
-
-/* SC7280 Power Domain Indexes */
-#define SC7280_CX	0
-#define SC7280_CX_AO	1
-#define SC7280_EBI	2
-#define SC7280_GFX	3
-#define SC7280_MX	4
-#define SC7280_MX_AO	5
-#define SC7280_LMX	6
-#define SC7280_LCX	7
-#define SC7280_MSS	8
-
-/* SC8180X Power Domain Indexes */
-#define SC8180X_CX	0
-#define SC8180X_CX_AO	1
-#define SC8180X_EBI	2
-#define SC8180X_GFX	3
-#define SC8180X_LCX	4
-#define SC8180X_LMX	5
-#define SC8180X_MMCX	6
-#define SC8180X_MMCX_AO	7
-#define SC8180X_MSS	8
-#define SC8180X_MX	9
-#define SC8180X_MX_AO	10
-
-/* SC8280XP Power Domain Indexes */
-#define SC8280XP_CX		0
-#define SC8280XP_CX_AO		1
-#define SC8280XP_DDR		2
-#define SC8280XP_EBI		3
-#define SC8280XP_GFX		4
-#define SC8280XP_LCX		5
-#define SC8280XP_LMX		6
-#define SC8280XP_MMCX		7
-#define SC8280XP_MMCX_AO	8
-#define SC8280XP_MSS		9
-#define SC8280XP_MX		10
-#define SC8280XP_MXC		12
-#define SC8280XP_MX_AO		11
-#define SC8280XP_NSP		13
-#define SC8280XP_QPHY		14
-#define SC8280XP_XO		15
+#define RPMHPD_CX		0
+#define RPMHPD_MX		1
+#define RPMHPD_CX_AO		2
+#define RPMHPD_MX_AO		3
+#define RPMHPD_GFX		4
+#define RPMHPD_MSS		5
+#define RPMHPD_EBI		6
+#define RPMHPD_LCX		7
+#define RPMHPD_LMX		8
+#define RPMHPD_MMCX		9
+#define RPMHPD_MMCX_AO		10
+#define RPMHPD_MXC		11
+#define RPMHPD_MXC_AO		12
+#define RPMHPD_NSP		13
+#define RPMHPD_NSP0		14
+#define RPMHPD_NSP1		15
+#define RPMHPD_QPHY		16
+#define RPMHPD_DDR		17
+#define RPMHPD_XO		18
+
+#define RPMPD_VDDCX		0
+#define RPMPD_VDDCX_AO		1
+#define RPMPD_VDDMX		2
+#define RPMPD_VDDMX_AO		3
+#define RPMPD_VDDCX_VFL		4
+#define RPMPD_VDDMX_VFL		5
+#define RPMPD_VDDCX_VFC		6
+#define RPMPD_LPI_CX		7
+#define RPMPD_LPI_MX		8
+#define RPMPD_SSCCX		9
+#define RPMPD_SSCCX_VFL		10
+#define RPMPD_SSCMX		11
+#define RPMPD_SSCMX_VFL		12
+#define RPMPD_VDDSSCX		13
+#define RPMPD_VDDSSCX_VFC	14
+#define RPMPD_VDDGFX		15
+#define RPMPD_VDDGFX_VFC	16
+#define RPMPD_VDDGX		17
+#define RPMPD_VDDGX_AO		18
+#define RPMPD_VDDMDCX		19
+#define RPMPD_VDDMDCX_AO	20
+#define RPMPD_VDDMDCX_VFC	21
+#define RPMPD_VDDMD		22
+#define RPMPD_VDDMD_AO		23
+#define RPMPD_LPICX_VFL		24
+#define RPMPD_LPIMX_VFL		25
 
 /* SDM845 Power Domain performance levels */
 #define RPMH_REGULATOR_LEVEL_RETENTION		16
@@ -241,139 +77,6 @@
 #define RPMH_REGULATOR_LEVEL_SUPER_TURBO 	464
 #define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR	480
 
-/* MDM9607 Power Domains */
-#define MDM9607_VDDCX		0
-#define MDM9607_VDDCX_AO	1
-#define MDM9607_VDDCX_VFL	2
-#define MDM9607_VDDMX		3
-#define MDM9607_VDDMX_AO	4
-#define MDM9607_VDDMX_VFL	5
-
-/* MSM8226 Power Domain Indexes */
-#define MSM8226_VDDCX		0
-#define MSM8226_VDDCX_AO	1
-#define MSM8226_VDDCX_VFC	2
-
-/* MSM8939 Power Domains */
-#define MSM8939_VDDMDCX		0
-#define MSM8939_VDDMDCX_AO	1
-#define MSM8939_VDDMDCX_VFC	2
-#define MSM8939_VDDCX		3
-#define MSM8939_VDDCX_AO	4
-#define MSM8939_VDDCX_VFC	5
-#define MSM8939_VDDMX		6
-#define MSM8939_VDDMX_AO	7
-
-/* MSM8916 Power Domain Indexes */
-#define MSM8916_VDDCX		0
-#define MSM8916_VDDCX_AO	1
-#define MSM8916_VDDCX_VFC	2
-#define MSM8916_VDDMX		3
-#define MSM8916_VDDMX_AO	4
-
-/* MSM8909 Power Domain Indexes */
-#define MSM8909_VDDCX		MSM8916_VDDCX
-#define MSM8909_VDDCX_AO	MSM8916_VDDCX_AO
-#define MSM8909_VDDCX_VFC	MSM8916_VDDCX_VFC
-#define MSM8909_VDDMX		MSM8916_VDDMX
-#define MSM8909_VDDMX_AO	MSM8916_VDDMX_AO
-
-/* MSM8953 Power Domain Indexes */
-#define MSM8953_VDDMD		0
-#define MSM8953_VDDMD_AO	1
-#define MSM8953_VDDCX		2
-#define MSM8953_VDDCX_AO	3
-#define MSM8953_VDDCX_VFL	4
-#define MSM8953_VDDMX		5
-#define MSM8953_VDDMX_AO	6
-
-/* MSM8976 Power Domain Indexes */
-#define MSM8976_VDDCX		0
-#define MSM8976_VDDCX_AO	1
-#define MSM8976_VDDCX_VFL	2
-#define MSM8976_VDDMX		3
-#define MSM8976_VDDMX_AO	4
-#define MSM8976_VDDMX_VFL	5
-
-/* MSM8994 Power Domain Indexes */
-#define MSM8994_VDDCX		0
-#define MSM8994_VDDCX_AO	1
-#define MSM8994_VDDCX_VFC	2
-#define MSM8994_VDDMX		3
-#define MSM8994_VDDMX_AO	4
-#define MSM8994_VDDGFX		5
-#define MSM8994_VDDGFX_VFC	6
-
-/* MSM8996 Power Domain Indexes */
-#define MSM8996_VDDCX		0
-#define MSM8996_VDDCX_AO	1
-#define MSM8996_VDDCX_VFC	2
-#define MSM8996_VDDMX		3
-#define MSM8996_VDDMX_AO	4
-#define MSM8996_VDDSSCX		5
-#define MSM8996_VDDSSCX_VFC	6
-
-/* MSM8998 Power Domain Indexes */
-#define MSM8998_VDDCX		0
-#define MSM8998_VDDCX_AO	1
-#define MSM8998_VDDCX_VFL	2
-#define MSM8998_VDDMX		3
-#define MSM8998_VDDMX_AO	4
-#define MSM8998_VDDMX_VFL	5
-#define MSM8998_SSCCX		6
-#define MSM8998_SSCCX_VFL	7
-#define MSM8998_SSCMX		8
-#define MSM8998_SSCMX_VFL	9
-
-/* QCS404 Power Domains */
-#define QCS404_VDDMX		0
-#define QCS404_VDDMX_AO		1
-#define QCS404_VDDMX_VFL	2
-#define QCS404_LPICX		3
-#define QCS404_LPICX_VFL	4
-#define QCS404_LPIMX		5
-#define QCS404_LPIMX_VFL	6
-
-/* SDM660 Power Domains */
-#define SDM660_VDDCX		0
-#define SDM660_VDDCX_AO		1
-#define SDM660_VDDCX_VFL	2
-#define SDM660_VDDMX		3
-#define SDM660_VDDMX_AO		4
-#define SDM660_VDDMX_VFL	5
-#define SDM660_SSCCX		6
-#define SDM660_SSCCX_VFL	7
-#define SDM660_SSCMX		8
-#define SDM660_SSCMX_VFL	9
-
-/* SM6115 Power Domains */
-#define SM6115_VDDCX		0
-#define SM6115_VDDCX_AO		1
-#define SM6115_VDDCX_VFL	2
-#define SM6115_VDDMX		3
-#define SM6115_VDDMX_AO		4
-#define SM6115_VDDMX_VFL	5
-#define SM6115_VDD_LPI_CX	6
-#define SM6115_VDD_LPI_MX	7
-
-/* SM6125 Power Domains */
-#define SM6125_VDDCX		0
-#define SM6125_VDDCX_AO		1
-#define SM6125_VDDCX_VFL	2
-#define SM6125_VDDMX		3
-#define SM6125_VDDMX_AO		4
-#define SM6125_VDDMX_VFL	5
-
-/* QCM2290 Power Domains */
-#define QCM2290_VDDCX		0
-#define QCM2290_VDDCX_AO	1
-#define QCM2290_VDDCX_VFL	2
-#define QCM2290_VDDMX		3
-#define QCM2290_VDDMX_AO	4
-#define QCM2290_VDDMX_VFL	5
-#define QCM2290_VDD_LPI_CX	6
-#define QCM2290_VDD_LPI_MX	7
-
 /* RPM SMD Power Domain performance levels */
 #define RPM_SMD_LEVEL_RETENTION       16
 #define RPM_SMD_LEVEL_RETENTION_PLUS  32
-- 
2.7.4


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

* [PATCH 2/3] soc: qcom: rpmpd: Update the entries of PD macros
  2023-07-06  9:20 [PATCH 0/3] Refactor the rpmhpd macros Rohit Agarwal
  2023-07-06  9:20 ` [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries Rohit Agarwal
@ 2023-07-06  9:20 ` Rohit Agarwal
  2023-07-06  9:20 ` [PATCH 3/3] soc: qcom: rpmphd: " Rohit Agarwal
  2 siblings, 0 replies; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06  9:20 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree, Rohit Agarwal

Update the PD macros used in SoC specific entries to use
the newly defined generic macros.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
---
 drivers/soc/qcom/rpmpd.c | 216 +++++++++++++++++++++++------------------------
 1 file changed, 108 insertions(+), 108 deletions(-)

diff --git a/drivers/soc/qcom/rpmpd.c b/drivers/soc/qcom/rpmpd.c
index 99b017f..cff9c2d 100644
--- a/drivers/soc/qcom/rpmpd.c
+++ b/drivers/soc/qcom/rpmpd.c
@@ -515,12 +515,12 @@ static struct rpmpd ssc_mx_rwsm0_vfl = {
 };
 
 static struct rpmpd *mdm9607_rpmpds[] = {
-	[MDM9607_VDDCX] =	&cx_s3a_lvl,
-	[MDM9607_VDDCX_AO] =	&cx_s3a_lvl_ao,
-	[MDM9607_VDDCX_VFL] =	&cx_s3a_vfl,
-	[MDM9607_VDDMX] =	&mx_l12a_lvl,
-	[MDM9607_VDDMX_AO] =	&mx_l12a_lvl_ao,
-	[MDM9607_VDDMX_VFL] =	&mx_l12a_vfl,
+	[RPMPD_VDDCX] =		&cx_s3a_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_s3a_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_s3a_vfl,
+	[RPMPD_VDDMX] =		&mx_l12a_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_l12a_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_l12a_vfl,
 };
 
 static const struct rpmpd_desc mdm9607_desc = {
@@ -530,9 +530,9 @@ static const struct rpmpd_desc mdm9607_desc = {
 };
 
 static struct rpmpd *msm8226_rpmpds[] = {
-	[MSM8226_VDDCX] =	&cx_s1a_corner,
-	[MSM8226_VDDCX_AO] =	&cx_s1a_corner_ao,
-	[MSM8226_VDDCX_VFC] =	&cx_s1a_vfc,
+	[RPMPD_VDDCX] =		&cx_s1a_corner,
+	[RPMPD_VDDCX_AO] =	&cx_s1a_corner_ao,
+	[RPMPD_VDDCX_VFC] =	&cx_s1a_vfc,
 };
 
 static const struct rpmpd_desc msm8226_desc = {
@@ -542,14 +542,14 @@ static const struct rpmpd_desc msm8226_desc = {
 };
 
 static struct rpmpd *msm8939_rpmpds[] = {
-	[MSM8939_VDDMDCX] =	&md_s1a_corner,
-	[MSM8939_VDDMDCX_AO] =	&md_s1a_corner_ao,
-	[MSM8939_VDDMDCX_VFC] =	&md_s1a_vfc,
-	[MSM8939_VDDCX] =	&cx_s2a_corner,
-	[MSM8939_VDDCX_AO] =	&cx_s2a_corner_ao,
-	[MSM8939_VDDCX_VFC] =	&cx_s2a_vfc,
-	[MSM8939_VDDMX] =	&mx_l3a_corner,
-	[MSM8939_VDDMX_AO] =	&mx_l3a_corner_ao,
+	[RPMPD_VDDMDCX] =	&md_s1a_corner,
+	[RPMPD_VDDMDCX_AO] =	&md_s1a_corner_ao,
+	[RPMPD_VDDMDCX_VFC] =	&md_s1a_vfc,
+	[RPMPD_VDDCX] =		&cx_s2a_corner,
+	[RPMPD_VDDCX_AO] =	&cx_s2a_corner_ao,
+	[RPMPD_VDDCX_VFC] =	&cx_s2a_vfc,
+	[RPMPD_VDDMX] =		&mx_l3a_corner,
+	[RPMPD_VDDMX_AO] =	&mx_l3a_corner_ao,
 };
 
 static const struct rpmpd_desc msm8939_desc = {
@@ -559,11 +559,11 @@ static const struct rpmpd_desc msm8939_desc = {
 };
 
 static struct rpmpd *msm8916_rpmpds[] = {
-	[MSM8916_VDDCX] =	&cx_s1a_corner,
-	[MSM8916_VDDCX_AO] =	&cx_s1a_corner_ao,
-	[MSM8916_VDDCX_VFC] =	&cx_s1a_vfc,
-	[MSM8916_VDDMX] =	&mx_l3a_corner,
-	[MSM8916_VDDMX_AO] =	&mx_l3a_corner_ao,
+	[RPMPD_VDDCX] =		&cx_s1a_corner,
+	[RPMPD_VDDCX_AO] =	&cx_s1a_corner_ao,
+	[RPMPD_VDDCX_VFC] =	&cx_s1a_vfc,
+	[RPMPD_VDDMX] =		&mx_l3a_corner,
+	[RPMPD_VDDMX_AO] =	&mx_l3a_corner_ao,
 };
 
 static const struct rpmpd_desc msm8916_desc = {
@@ -573,13 +573,13 @@ static const struct rpmpd_desc msm8916_desc = {
 };
 
 static struct rpmpd *msm8953_rpmpds[] = {
-	[MSM8953_VDDMD] =	&md_s1a_lvl,
-	[MSM8953_VDDMD_AO] =	&md_s1a_lvl_ao,
-	[MSM8953_VDDCX] =	&cx_s2a_lvl,
-	[MSM8953_VDDCX_AO] =	&cx_s2a_lvl_ao,
-	[MSM8953_VDDCX_VFL] =	&cx_s2a_vfl,
-	[MSM8953_VDDMX] =	&mx_s7a_lvl,
-	[MSM8953_VDDMX_AO] =	&mx_s7a_lvl_ao,
+	[RPMPD_VDDMD] =		&md_s1a_lvl,
+	[RPMPD_VDDMD_AO] =	&md_s1a_lvl_ao,
+	[RPMPD_VDDCX] =		&cx_s2a_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_s2a_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_s2a_vfl,
+	[RPMPD_VDDMX] =		&mx_s7a_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_s7a_lvl_ao,
 };
 
 static const struct rpmpd_desc msm8953_desc = {
@@ -589,12 +589,12 @@ static const struct rpmpd_desc msm8953_desc = {
 };
 
 static struct rpmpd *msm8976_rpmpds[] = {
-	[MSM8976_VDDCX] =	&cx_s2a_lvl,
-	[MSM8976_VDDCX_AO] =	&cx_s2a_lvl_ao,
-	[MSM8976_VDDCX_VFL] =	&cx_rwsc2_vfl,
-	[MSM8976_VDDMX] =	&mx_s6a_lvl,
-	[MSM8976_VDDMX_AO] =	&mx_s6a_lvl_ao,
-	[MSM8976_VDDMX_VFL] =	&mx_rwsm6_vfl,
+	[RPMPD_VDDCX] =		&cx_s2a_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_s2a_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwsc2_vfl,
+	[RPMPD_VDDMX] =		&mx_s6a_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_s6a_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwsm6_vfl,
 };
 
 static const struct rpmpd_desc msm8976_desc = {
@@ -604,15 +604,15 @@ static const struct rpmpd_desc msm8976_desc = {
 };
 
 static struct rpmpd *msm8994_rpmpds[] = {
-	[MSM8994_VDDCX] =	&cx_s1a_corner,
-	[MSM8994_VDDCX_AO] =	&cx_s1a_corner_ao,
-	[MSM8994_VDDCX_VFC] =	&cx_s1a_vfc,
-	[MSM8994_VDDMX] =	&mx_s2a_corner,
-	[MSM8994_VDDMX_AO] =	&mx_s2a_corner_ao,
+	[RPMPD_VDDCX] =		&cx_s1a_corner,
+	[RPMPD_VDDCX_AO] =	&cx_s1a_corner_ao,
+	[RPMPD_VDDCX_VFC] =	&cx_s1a_vfc,
+	[RPMPD_VDDMX] =		&mx_s2a_corner,
+	[RPMPD_VDDMX_AO] =	&mx_s2a_corner_ao,
 
 	/* Attention! *Some* 8994 boards with pm8004 may use SMPC here! */
-	[MSM8994_VDDGFX] =	&gfx_s2b_corner,
-	[MSM8994_VDDGFX_VFC] =	&gfx_s2b_vfc,
+	[RPMPD_VDDGFX] =	&gfx_s2b_corner,
+	[RPMPD_VDDGFX_VFC] =	&gfx_s2b_vfc,
 };
 
 static const struct rpmpd_desc msm8994_desc = {
@@ -622,13 +622,13 @@ static const struct rpmpd_desc msm8994_desc = {
 };
 
 static struct rpmpd *msm8996_rpmpds[] = {
-	[MSM8996_VDDCX] =	&cx_s1a_corner,
-	[MSM8996_VDDCX_AO] =	&cx_s1a_corner_ao,
-	[MSM8996_VDDCX_VFC] =	&cx_s1a_vfc,
-	[MSM8996_VDDMX] =	&mx_s2a_corner,
-	[MSM8996_VDDMX_AO] =	&mx_s2a_corner_ao,
-	[MSM8996_VDDSSCX] =	&ssc_cx_l26a_corner,
-	[MSM8996_VDDSSCX_VFC] =	&ssc_cx_l26a_vfc,
+	[RPMPD_VDDCX] =		&cx_s1a_corner,
+	[RPMPD_VDDCX_AO] =	&cx_s1a_corner_ao,
+	[RPMPD_VDDCX_VFC] =	&cx_s1a_vfc,
+	[RPMPD_VDDMX] =		&mx_s2a_corner,
+	[RPMPD_VDDMX_AO] =	&mx_s2a_corner_ao,
+	[RPMPD_VDDSSCX] =	&ssc_cx_l26a_corner,
+	[RPMPD_VDDSSCX_VFC] =	&ssc_cx_l26a_vfc,
 };
 
 static const struct rpmpd_desc msm8996_desc = {
@@ -638,16 +638,16 @@ static const struct rpmpd_desc msm8996_desc = {
 };
 
 static struct rpmpd *msm8998_rpmpds[] = {
-	[MSM8998_VDDCX] =	&cx_rwcx0_lvl,
-	[MSM8998_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
-	[MSM8998_VDDCX_VFL] =	&cx_rwcx0_vfl,
-	[MSM8998_VDDMX] =	&mx_rwmx0_lvl,
-	[MSM8998_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[MSM8998_VDDMX_VFL] =	&mx_rwmx0_vfl,
-	[MSM8998_SSCCX] =	&ssc_cx_rwsc0_lvl,
-	[MSM8998_SSCCX_VFL] =	&ssc_cx_rwsc0_vfl,
-	[MSM8998_SSCMX] =	&ssc_mx_rwsm0_lvl,
-	[MSM8998_SSCMX_VFL] =	&ssc_mx_rwsm0_vfl,
+	[RPMPD_VDDCX] =		&cx_rwcx0_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwcx0_vfl,
+	[RPMPD_VDDMX] =		&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_SSCCX] =		&ssc_cx_rwsc0_lvl,
+	[RPMPD_SSCCX_VFL] =	&ssc_cx_rwsc0_vfl,
+	[RPMPD_SSCMX] =		&ssc_mx_rwsm0_lvl,
+	[RPMPD_SSCMX_VFL] =	&ssc_mx_rwsm0_vfl,
 };
 
 static const struct rpmpd_desc msm8998_desc = {
@@ -657,13 +657,13 @@ static const struct rpmpd_desc msm8998_desc = {
 };
 
 static struct rpmpd *qcs404_rpmpds[] = {
-	[QCS404_VDDMX] =	&mx_rwmx0_lvl,
-	[QCS404_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[QCS404_VDDMX_VFL] =	&mx_rwmx0_vfl,
-	[QCS404_LPICX] =	&lpi_cx_rwlc0_lvl,
-	[QCS404_LPICX_VFL] =	&lpi_cx_rwlc0_vfl,
-	[QCS404_LPIMX] =	&lpi_mx_rwlm0_lvl,
-	[QCS404_LPIMX_VFL] =	&lpi_mx_rwlm0_vfl,
+	[RPMPD_VDDMX] =		&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
+	[RPMPD_LPICX_VFL] =	&lpi_cx_rwlc0_vfl,
+	[RPMPD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
+	[RPMPD_LPIMX_VFL] =	&lpi_mx_rwlm0_vfl,
 };
 
 static const struct rpmpd_desc qcs404_desc = {
@@ -673,16 +673,16 @@ static const struct rpmpd_desc qcs404_desc = {
 };
 
 static struct rpmpd *sdm660_rpmpds[] = {
-	[SDM660_VDDCX] =	&cx_rwcx0_lvl,
-	[SDM660_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
-	[SDM660_VDDCX_VFL] =	&cx_rwcx0_vfl,
-	[SDM660_VDDMX] =	&mx_rwmx0_lvl,
-	[SDM660_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[SDM660_VDDMX_VFL] =	&mx_rwmx0_vfl,
-	[SDM660_SSCCX] =	&ssc_cx_rwlc0_lvl,
-	[SDM660_SSCCX_VFL] =	&ssc_cx_rwlc0_vfl,
-	[SDM660_SSCMX] =	&ssc_mx_rwlm0_lvl,
-	[SDM660_SSCMX_VFL] =	&ssc_mx_rwlm0_vfl,
+	[RPMPD_VDDCX] =		&cx_rwcx0_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwcx0_vfl,
+	[RPMPD_VDDMX] =		&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_SSCCX] =		&ssc_cx_rwlc0_lvl,
+	[RPMPD_SSCCX_VFL] =	&ssc_cx_rwlc0_vfl,
+	[RPMPD_SSCMX] =		&ssc_mx_rwlm0_lvl,
+	[RPMPD_SSCMX_VFL] =	&ssc_mx_rwlm0_vfl,
 };
 
 static const struct rpmpd_desc sdm660_desc = {
@@ -692,14 +692,14 @@ static const struct rpmpd_desc sdm660_desc = {
 };
 
 static struct rpmpd *sm6115_rpmpds[] = {
-	[SM6115_VDDCX] =	&cx_rwcx0_lvl,
-	[SM6115_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
-	[SM6115_VDDCX_VFL] =	&cx_rwcx0_vfl,
-	[SM6115_VDDMX] =	&mx_rwmx0_lvl,
-	[SM6115_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[SM6115_VDDMX_VFL] =	&mx_rwmx0_vfl,
-	[SM6115_VDD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
-	[SM6115_VDD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
+	[RPMPD_VDDCX] =		&cx_rwcx0_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwcx0_vfl,
+	[RPMPD_VDDMX] =		&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
+	[RPMPD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
 };
 
 static const struct rpmpd_desc sm6115_desc = {
@@ -709,12 +709,12 @@ static const struct rpmpd_desc sm6115_desc = {
 };
 
 static struct rpmpd *sm6125_rpmpds[] = {
-	[SM6125_VDDCX] =	&cx_rwcx0_lvl,
-	[SM6125_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
-	[SM6125_VDDCX_VFL] =	&cx_rwcx0_vfl,
-	[SM6125_VDDMX] =	&mx_rwmx0_lvl,
-	[SM6125_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[SM6125_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_VDDCX] =		&cx_rwcx0_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwcx0_vfl,
+	[RPMPD_VDDMX] =		&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
 };
 
 static const struct rpmpd_desc sm6125_desc = {
@@ -724,16 +724,16 @@ static const struct rpmpd_desc sm6125_desc = {
 };
 
 static struct rpmpd *sm6375_rpmpds[] = {
-	[SM6375_VDDCX] =	&cx_rwcx0_lvl,
-	[SM6375_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
-	[SM6375_VDDCX_VFL] =	&cx_rwcx0_vfl,
-	[SM6375_VDDMX] =	&mx_rwmx0_lvl,
-	[SM6375_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[SM6375_VDDMX_VFL] =	&mx_rwmx0_vfl,
-	[SM6375_VDDGX] =	&gx_rwgx0_lvl,
-	[SM6375_VDDGX_AO] =	&gx_rwgx0_lvl_ao,
-	[SM6375_VDD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
-	[SM6375_VDD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
+	[RPMPD_VDDCX] =		&cx_rwcx0_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwcx0_vfl,
+	[RPMPD_VDDMX] =		&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_VDDGX] =		&gx_rwgx0_lvl,
+	[RPMPD_VDDGX_AO] =	&gx_rwgx0_lvl_ao,
+	[RPMPD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
+	[RPMPD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
 };
 
 static const struct rpmpd_desc sm6375_desc = {
@@ -743,14 +743,14 @@ static const struct rpmpd_desc sm6375_desc = {
 };
 
 static struct rpmpd *qcm2290_rpmpds[] = {
-	[QCM2290_VDDCX] =	&cx_rwcx0_lvl,
-	[QCM2290_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
-	[QCM2290_VDDCX_VFL] =	&cx_rwcx0_vfl,
-	[QCM2290_VDDMX] =	&mx_rwmx0_lvl,
-	[QCM2290_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
-	[QCM2290_VDDMX_VFL] =	&mx_rwmx0_vfl,
-	[QCM2290_VDD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
-	[QCM2290_VDD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
+	[RPMPD_VDDCX] =		&cx_rwcx0_lvl,
+	[RPMPD_VDDCX_AO] =	&cx_rwcx0_lvl_ao,
+	[RPMPD_VDDCX_VFL] =	&cx_rwcx0_vfl,
+	[RPMPD_VDDMX] =	&mx_rwmx0_lvl,
+	[RPMPD_VDDMX_AO] =	&mx_rwmx0_lvl_ao,
+	[RPMPD_VDDMX_VFL] =	&mx_rwmx0_vfl,
+	[RPMPD_LPI_CX] =	&lpi_cx_rwlc0_lvl,
+	[RPMPD_LPI_MX] =	&lpi_mx_rwlm0_lvl,
 };
 
 static const struct rpmpd_desc qcm2290_desc = {
-- 
2.7.4


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

* [PATCH 3/3] soc: qcom: rpmphd: Update the entries of PD macros
  2023-07-06  9:20 [PATCH 0/3] Refactor the rpmhpd macros Rohit Agarwal
  2023-07-06  9:20 ` [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries Rohit Agarwal
  2023-07-06  9:20 ` [PATCH 2/3] soc: qcom: rpmpd: Update the entries of PD macros Rohit Agarwal
@ 2023-07-06  9:20 ` Rohit Agarwal
  2 siblings, 0 replies; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06  9:20 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree, Rohit Agarwal

Update the PD macros used in SoC specific entries to use
the newly defined generic macros.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
---
 drivers/soc/qcom/rpmhpd.c | 338 +++++++++++++++++++++++-----------------------
 1 file changed, 169 insertions(+), 169 deletions(-)

diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c
index 63c35a3..0b844a3 100644
--- a/drivers/soc/qcom/rpmhpd.c
+++ b/drivers/soc/qcom/rpmhpd.c
@@ -204,17 +204,17 @@ static struct rpmhpd qphy = {
 
 /* SA8540P RPMH powerdomains */
 static struct rpmhpd *sa8540p_rpmhpds[] = {
-	[SC8280XP_CX] = &cx,
-	[SC8280XP_CX_AO] = &cx_ao,
-	[SC8280XP_EBI] = &ebi,
-	[SC8280XP_GFX] = &gfx,
-	[SC8280XP_LCX] = &lcx,
-	[SC8280XP_LMX] = &lmx,
-	[SC8280XP_MMCX] = &mmcx,
-	[SC8280XP_MMCX_AO] = &mmcx_ao,
-	[SC8280XP_MX] = &mx,
-	[SC8280XP_MX_AO] = &mx_ao,
-	[SC8280XP_NSP] = &nsp,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_CX_AO] = &cx_ao,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_NSP] = &nsp,
 };
 
 static const struct rpmhpd_desc sa8540p_desc = {
@@ -224,20 +224,20 @@ static const struct rpmhpd_desc sa8540p_desc = {
 
 /* SA8775P RPMH power domains */
 static struct rpmhpd *sa8775p_rpmhpds[] = {
-	[SA8775P_CX] = &cx,
-	[SA8775P_CX_AO] = &cx_ao,
-	[SA8775P_EBI] = &ebi,
-	[SA8775P_GFX] = &gfx,
-	[SA8775P_LCX] = &lcx,
-	[SA8775P_LMX] = &lmx,
-	[SA8775P_MMCX] = &mmcx,
-	[SA8775P_MMCX_AO] = &mmcx_ao,
-	[SA8775P_MXC] = &mxc,
-	[SA8775P_MXC_AO] = &mxc_ao,
-	[SA8775P_MX] = &mx,
-	[SA8775P_MX_AO] = &mx_ao,
-	[SA8775P_NSP0] = &nsp0,
-	[SA8775P_NSP1] = &nsp1,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_CX_AO] = &cx_ao,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MXC] = &mxc,
+	[RPMHPD_MXC_AO] = &mxc_ao,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_NSP0] = &nsp0,
+	[RPMHPD_NSP1] = &nsp1,
 };
 
 static const struct rpmhpd_desc sa8775p_desc = {
@@ -247,14 +247,14 @@ static const struct rpmhpd_desc sa8775p_desc = {
 
 /* SDM670 RPMH powerdomains */
 static struct rpmhpd *sdm670_rpmhpds[] = {
-	[SDM670_CX] = &cx_w_mx_parent,
-	[SDM670_CX_AO] = &cx_ao_w_mx_parent,
-	[SDM670_GFX] = &gfx,
-	[SDM670_LCX] = &lcx,
-	[SDM670_LMX] = &lmx,
-	[SDM670_MSS] = &mss,
-	[SDM670_MX] = &mx,
-	[SDM670_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sdm670_desc = {
@@ -264,15 +264,15 @@ static const struct rpmhpd_desc sdm670_desc = {
 
 /* SDM845 RPMH powerdomains */
 static struct rpmhpd *sdm845_rpmhpds[] = {
-	[SDM845_CX] = &cx_w_mx_parent,
-	[SDM845_CX_AO] = &cx_ao_w_mx_parent,
-	[SDM845_EBI] = &ebi,
-	[SDM845_GFX] = &gfx,
-	[SDM845_LCX] = &lcx,
-	[SDM845_LMX] = &lmx,
-	[SDM845_MSS] = &mss,
-	[SDM845_MX] = &mx,
-	[SDM845_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sdm845_desc = {
@@ -282,9 +282,9 @@ static const struct rpmhpd_desc sdm845_desc = {
 
 /* SDX55 RPMH powerdomains */
 static struct rpmhpd *sdx55_rpmhpds[] = {
-	[SDX55_CX] = &cx_w_mx_parent,
-	[SDX55_MSS] = &mss,
-	[SDX55_MX] = &mx,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
 };
 
 static const struct rpmhpd_desc sdx55_desc = {
@@ -294,12 +294,12 @@ static const struct rpmhpd_desc sdx55_desc = {
 
 /* SDX65 RPMH powerdomains */
 static struct rpmhpd *sdx65_rpmhpds[] = {
-	[SDX65_CX] = &cx_w_mx_parent,
-	[SDX65_CX_AO] = &cx_ao_w_mx_parent,
-	[SDX65_MSS] = &mss,
-	[SDX65_MX] = &mx,
-	[SDX65_MX_AO] = &mx_ao,
-	[SDX65_MXC] = &mxc,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_MXC] = &mxc,
 };
 
 static const struct rpmhpd_desc sdx65_desc = {
@@ -309,12 +309,12 @@ static const struct rpmhpd_desc sdx65_desc = {
 
 /* SM6350 RPMH powerdomains */
 static struct rpmhpd *sm6350_rpmhpds[] = {
-	[SM6350_CX] = &cx_w_mx_parent,
-	[SM6350_GFX] = &gfx,
-	[SM6350_LCX] = &lcx,
-	[SM6350_LMX] = &lmx,
-	[SM6350_MSS] = &mss,
-	[SM6350_MX] = &mx,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
 };
 
 static const struct rpmhpd_desc sm6350_desc = {
@@ -324,17 +324,17 @@ static const struct rpmhpd_desc sm6350_desc = {
 
 /* SM8150 RPMH powerdomains */
 static struct rpmhpd *sm8150_rpmhpds[] = {
-	[SM8150_CX] = &cx_w_mx_parent,
-	[SM8150_CX_AO] = &cx_ao_w_mx_parent,
-	[SM8150_EBI] = &ebi,
-	[SM8150_GFX] = &gfx,
-	[SM8150_LCX] = &lcx,
-	[SM8150_LMX] = &lmx,
-	[SM8150_MMCX] = &mmcx,
-	[SM8150_MMCX_AO] = &mmcx_ao,
-	[SM8150_MSS] = &mss,
-	[SM8150_MX] = &mx,
-	[SM8150_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sm8150_desc = {
@@ -343,13 +343,13 @@ static const struct rpmhpd_desc sm8150_desc = {
 };
 
 static struct rpmhpd *sa8155p_rpmhpds[] = {
-	[SA8155P_CX] = &cx_w_mx_parent,
-	[SA8155P_CX_AO] = &cx_ao_w_mx_parent,
-	[SA8155P_EBI] = &ebi,
-	[SA8155P_GFX] = &gfx,
-	[SA8155P_MSS] = &mss,
-	[SA8155P_MX] = &mx,
-	[SA8155P_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sa8155p_desc = {
@@ -359,16 +359,16 @@ static const struct rpmhpd_desc sa8155p_desc = {
 
 /* SM8250 RPMH powerdomains */
 static struct rpmhpd *sm8250_rpmhpds[] = {
-	[SM8250_CX] = &cx_w_mx_parent,
-	[SM8250_CX_AO] = &cx_ao_w_mx_parent,
-	[SM8250_EBI] = &ebi,
-	[SM8250_GFX] = &gfx,
-	[SM8250_LCX] = &lcx,
-	[SM8250_LMX] = &lmx,
-	[SM8250_MMCX] = &mmcx,
-	[SM8250_MMCX_AO] = &mmcx_ao,
-	[SM8250_MX] = &mx,
-	[SM8250_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sm8250_desc = {
@@ -378,19 +378,19 @@ static const struct rpmhpd_desc sm8250_desc = {
 
 /* SM8350 Power domains */
 static struct rpmhpd *sm8350_rpmhpds[] = {
-	[SM8350_CX] = &cx_w_mx_parent,
-	[SM8350_CX_AO] = &cx_ao_w_mx_parent,
-	[SM8350_EBI] = &ebi,
-	[SM8350_GFX] = &gfx,
-	[SM8350_LCX] = &lcx,
-	[SM8350_LMX] = &lmx,
-	[SM8350_MMCX] = &mmcx,
-	[SM8350_MMCX_AO] = &mmcx_ao,
-	[SM8350_MSS] = &mss,
-	[SM8350_MX] = &mx,
-	[SM8350_MX_AO] = &mx_ao,
-	[SM8350_MXC] = &mxc,
-	[SM8350_MXC_AO] = &mxc_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_MXC] = &mxc,
+	[RPMHPD_MXC_AO] = &mxc_ao,
 };
 
 static const struct rpmhpd_desc sm8350_desc = {
@@ -400,19 +400,19 @@ static const struct rpmhpd_desc sm8350_desc = {
 
 /* SM8450 RPMH powerdomains */
 static struct rpmhpd *sm8450_rpmhpds[] = {
-	[SM8450_CX] = &cx,
-	[SM8450_CX_AO] = &cx_ao,
-	[SM8450_EBI] = &ebi,
-	[SM8450_GFX] = &gfx,
-	[SM8450_LCX] = &lcx,
-	[SM8450_LMX] = &lmx,
-	[SM8450_MMCX] = &mmcx_w_cx_parent,
-	[SM8450_MMCX_AO] = &mmcx_ao_w_cx_parent,
-	[SM8450_MSS] = &mss,
-	[SM8450_MX] = &mx,
-	[SM8450_MX_AO] = &mx_ao,
-	[SM8450_MXC] = &mxc,
-	[SM8450_MXC_AO] = &mxc_ao,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_CX_AO] = &cx_ao,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx_w_cx_parent,
+	[RPMHPD_MMCX_AO] = &mmcx_ao_w_cx_parent,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_MXC] = &mxc,
+	[RPMHPD_MXC_AO] = &mxc_ao,
 };
 
 static const struct rpmhpd_desc sm8450_desc = {
@@ -422,20 +422,20 @@ static const struct rpmhpd_desc sm8450_desc = {
 
 /* SM8550 RPMH powerdomains */
 static struct rpmhpd *sm8550_rpmhpds[] = {
-	[SM8550_CX] = &cx,
-	[SM8550_CX_AO] = &cx_ao,
-	[SM8550_EBI] = &ebi,
-	[SM8550_GFX] = &gfx,
-	[SM8550_LCX] = &lcx,
-	[SM8550_LMX] = &lmx,
-	[SM8550_MMCX] = &mmcx_w_cx_parent,
-	[SM8550_MMCX_AO] = &mmcx_ao_w_cx_parent,
-	[SM8550_MSS] = &mss,
-	[SM8550_MX] = &mx,
-	[SM8550_MX_AO] = &mx_ao,
-	[SM8550_MXC] = &mxc,
-	[SM8550_MXC_AO] = &mxc_ao,
-	[SM8550_NSP] = &nsp,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_CX_AO] = &cx_ao,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx_w_cx_parent,
+	[RPMHPD_MMCX_AO] = &mmcx_ao_w_cx_parent,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_MXC] = &mxc,
+	[RPMHPD_MXC_AO] = &mxc_ao,
+	[RPMHPD_NSP] = &nsp,
 };
 
 static const struct rpmhpd_desc sm8550_desc = {
@@ -445,10 +445,10 @@ static const struct rpmhpd_desc sm8550_desc = {
 
 /* QDU1000/QRU1000 RPMH powerdomains */
 static struct rpmhpd *qdu1000_rpmhpds[] = {
-	[QDU1000_CX] = &cx,
-	[QDU1000_EBI] = &ebi,
-	[QDU1000_MSS] = &mss,
-	[QDU1000_MX] = &mx,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
 };
 
 static const struct rpmhpd_desc qdu1000_desc = {
@@ -458,14 +458,14 @@ static const struct rpmhpd_desc qdu1000_desc = {
 
 /* SC7180 RPMH powerdomains */
 static struct rpmhpd *sc7180_rpmhpds[] = {
-	[SC7180_CX] = &cx_w_mx_parent,
-	[SC7180_CX_AO] = &cx_ao_w_mx_parent,
-	[SC7180_GFX] = &gfx,
-	[SC7180_LCX] = &lcx,
-	[SC7180_LMX] = &lmx,
-	[SC7180_MSS] = &mss,
-	[SC7180_MX] = &mx,
-	[SC7180_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sc7180_desc = {
@@ -475,15 +475,15 @@ static const struct rpmhpd_desc sc7180_desc = {
 
 /* SC7280 RPMH powerdomains */
 static struct rpmhpd *sc7280_rpmhpds[] = {
-	[SC7280_CX] = &cx,
-	[SC7280_CX_AO] = &cx_ao,
-	[SC7280_EBI] = &ebi,
-	[SC7280_GFX] = &gfx,
-	[SC7280_LCX] = &lcx,
-	[SC7280_LMX] = &lmx,
-	[SC7280_MSS] = &mss,
-	[SC7280_MX] = &mx,
-	[SC7280_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_CX_AO] = &cx_ao,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sc7280_desc = {
@@ -493,17 +493,17 @@ static const struct rpmhpd_desc sc7280_desc = {
 
 /* SC8180x RPMH powerdomains */
 static struct rpmhpd *sc8180x_rpmhpds[] = {
-	[SC8180X_CX] = &cx_w_mx_parent,
-	[SC8180X_CX_AO] = &cx_ao_w_mx_parent,
-	[SC8180X_EBI] = &ebi,
-	[SC8180X_GFX] = &gfx,
-	[SC8180X_LCX] = &lcx,
-	[SC8180X_LMX] = &lmx,
-	[SC8180X_MMCX] = &mmcx,
-	[SC8180X_MMCX_AO] = &mmcx_ao,
-	[SC8180X_MSS] = &mss,
-	[SC8180X_MX] = &mx,
-	[SC8180X_MX_AO] = &mx_ao,
+	[RPMHPD_CX] = &cx_w_mx_parent,
+	[RPMHPD_CX_AO] = &cx_ao_w_mx_parent,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MSS] = &mss,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
 };
 
 static const struct rpmhpd_desc sc8180x_desc = {
@@ -513,18 +513,18 @@ static const struct rpmhpd_desc sc8180x_desc = {
 
 /* SC8280xp RPMH powerdomains */
 static struct rpmhpd *sc8280xp_rpmhpds[] = {
-	[SC8280XP_CX] = &cx,
-	[SC8280XP_CX_AO] = &cx_ao,
-	[SC8280XP_EBI] = &ebi,
-	[SC8280XP_GFX] = &gfx,
-	[SC8280XP_LCX] = &lcx,
-	[SC8280XP_LMX] = &lmx,
-	[SC8280XP_MMCX] = &mmcx,
-	[SC8280XP_MMCX_AO] = &mmcx_ao,
-	[SC8280XP_MX] = &mx,
-	[SC8280XP_MX_AO] = &mx_ao,
-	[SC8280XP_NSP] = &nsp,
-	[SC8280XP_QPHY] = &qphy,
+	[RPMHPD_CX] = &cx,
+	[RPMHPD_CX_AO] = &cx_ao,
+	[RPMHPD_EBI] = &ebi,
+	[RPMHPD_GFX] = &gfx,
+	[RPMHPD_LCX] = &lcx,
+	[RPMHPD_LMX] = &lmx,
+	[RPMHPD_MMCX] = &mmcx,
+	[RPMHPD_MMCX_AO] = &mmcx_ao,
+	[RPMHPD_MX] = &mx,
+	[RPMHPD_MX_AO] = &mx_ao,
+	[RPMHPD_NSP] = &nsp,
+	[RPMHPD_QPHY] = &qphy,
 };
 
 static const struct rpmhpd_desc sc8280xp_desc = {
-- 
2.7.4


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

* Re: [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06  9:20 ` [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries Rohit Agarwal
@ 2023-07-06  9:59   ` Konrad Dybcio
  2023-07-06 10:07     ` Rohit Agarwal
  2023-07-06 10:45   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2023-07-06  9:59 UTC (permalink / raw)
  To: Rohit Agarwal, agross, andersson, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree

On 6.07.2023 11:20, Rohit Agarwal wrote:
> Remove the SoC specific entries and add a generic set of defines
> that can be used by all the SoCs. This will remove the duplicate
> entries among SoCs.
> The arrangement of the defines is done according to the frequency
> used in SoC specific entries in the driver to avoid wastage of
> memory.
> 
> Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
> Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
It was easy to misunderstand, but that's not what I meant :/

Basically we can't do what's done in this commit, as everything in
include/dt-bindings is ABI and unless there's a good reason (e.g. "this
could have never worked anyway"), it shouldn't be broken.

What we *should* do though, is apply this to all new platforms.
We unfortunately have to carry this legacy baggage so long as we
keep the RPM(h)PD drivers around.

So, with your SDX75 addition, please use the new, SoC-independent
indices and keep the old junk as stinky as it was

Konrad
> ---
>  include/dt-bindings/power/qcom-rpmpd.h | 389 ++++-----------------------------
>  1 file changed, 46 insertions(+), 343 deletions(-)
> 
> diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
> index 83be996..fa2ed08 100644
> --- a/include/dt-bindings/power/qcom-rpmpd.h
> +++ b/include/dt-bindings/power/qcom-rpmpd.h
> @@ -4,216 +4,52 @@
>  #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
>  #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
>  
> -/* SA8775P Power Domain Indexes */
> -#define SA8775P_CX	0
> -#define SA8775P_CX_AO	1
> -#define SA8775P_DDR	2
> -#define SA8775P_EBI	3
> -#define SA8775P_GFX	4
> -#define SA8775P_LCX	5
> -#define SA8775P_LMX	6
> -#define SA8775P_MMCX	7
> -#define SA8775P_MMCX_AO	8
> -#define SA8775P_MSS	9
> -#define SA8775P_MX	10
> -#define SA8775P_MX_AO	11
> -#define SA8775P_MXC	12
> -#define SA8775P_MXC_AO	13
> -#define SA8775P_NSP0	14
> -#define SA8775P_NSP1	15
> -#define SA8775P_XO	16
> -
> -/* SDM670 Power Domain Indexes */
> -#define SDM670_MX	0
> -#define SDM670_MX_AO	1
> -#define SDM670_CX	2
> -#define SDM670_CX_AO	3
> -#define SDM670_LMX	4
> -#define SDM670_LCX	5
> -#define SDM670_GFX	6
> -#define SDM670_MSS	7
> -
> -/* SDM845 Power Domain Indexes */
> -#define SDM845_EBI	0
> -#define SDM845_MX	1
> -#define SDM845_MX_AO	2
> -#define SDM845_CX	3
> -#define SDM845_CX_AO	4
> -#define SDM845_LMX	5
> -#define SDM845_LCX	6
> -#define SDM845_GFX	7
> -#define SDM845_MSS	8
> -
> -/* SDX55 Power Domain Indexes */
> -#define SDX55_MSS	0
> -#define SDX55_MX	1
> -#define SDX55_CX	2
> -
> -/* SDX65 Power Domain Indexes */
> -#define SDX65_MSS	0
> -#define SDX65_MX	1
> -#define SDX65_MX_AO	2
> -#define SDX65_CX	3
> -#define SDX65_CX_AO	4
> -#define SDX65_MXC	5
> -
> -/* SM6350 Power Domain Indexes */
> -#define SM6350_CX	0
> -#define SM6350_GFX	1
> -#define SM6350_LCX	2
> -#define SM6350_LMX	3
> -#define SM6350_MSS	4
> -#define SM6350_MX	5
> -
> -/* SM6350 Power Domain Indexes */
> -#define SM6375_VDDCX		0
> -#define SM6375_VDDCX_AO	1
> -#define SM6375_VDDCX_VFL	2
> -#define SM6375_VDDMX		3
> -#define SM6375_VDDMX_AO	4
> -#define SM6375_VDDMX_VFL	5
> -#define SM6375_VDDGX		6
> -#define SM6375_VDDGX_AO	7
> -#define SM6375_VDD_LPI_CX	8
> -#define SM6375_VDD_LPI_MX	9
> -
> -/* SM8150 Power Domain Indexes */
> -#define SM8150_MSS	0
> -#define SM8150_EBI	1
> -#define SM8150_LMX	2
> -#define SM8150_LCX	3
> -#define SM8150_GFX	4
> -#define SM8150_MX	5
> -#define SM8150_MX_AO	6
> -#define SM8150_CX	7
> -#define SM8150_CX_AO	8
> -#define SM8150_MMCX	9
> -#define SM8150_MMCX_AO	10
> -
> -/* SA8155P is a special case, kept for backwards compatibility */
> -#define SA8155P_CX	SM8150_CX
> -#define SA8155P_CX_AO	SM8150_CX_AO
> -#define SA8155P_EBI	SM8150_EBI
> -#define SA8155P_GFX	SM8150_GFX
> -#define SA8155P_MSS	SM8150_MSS
> -#define SA8155P_MX	SM8150_MX
> -#define SA8155P_MX_AO	SM8150_MX_AO
> -
> -/* SM8250 Power Domain Indexes */
> -#define SM8250_CX	0
> -#define SM8250_CX_AO	1
> -#define SM8250_EBI	2
> -#define SM8250_GFX	3
> -#define SM8250_LCX	4
> -#define SM8250_LMX	5
> -#define SM8250_MMCX	6
> -#define SM8250_MMCX_AO	7
> -#define SM8250_MX	8
> -#define SM8250_MX_AO	9
> -
> -/* SM8350 Power Domain Indexes */
> -#define SM8350_CX	0
> -#define SM8350_CX_AO	1
> -#define SM8350_EBI	2
> -#define SM8350_GFX	3
> -#define SM8350_LCX	4
> -#define SM8350_LMX	5
> -#define SM8350_MMCX	6
> -#define SM8350_MMCX_AO	7
> -#define SM8350_MX	8
> -#define SM8350_MX_AO	9
> -#define SM8350_MXC	10
> -#define SM8350_MXC_AO	11
> -#define SM8350_MSS	12
> -
> -/* SM8450 Power Domain Indexes */
> -#define SM8450_CX	0
> -#define SM8450_CX_AO	1
> -#define SM8450_EBI	2
> -#define SM8450_GFX	3
> -#define SM8450_LCX	4
> -#define SM8450_LMX	5
> -#define SM8450_MMCX	6
> -#define SM8450_MMCX_AO	7
> -#define SM8450_MX	8
> -#define SM8450_MX_AO	9
> -#define SM8450_MXC	10
> -#define SM8450_MXC_AO	11
> -#define SM8450_MSS	12
> -
> -/* SM8550 Power Domain Indexes */
> -#define SM8550_CX	0
> -#define SM8550_CX_AO	1
> -#define SM8550_EBI	2
> -#define SM8550_GFX	3
> -#define SM8550_LCX	4
> -#define SM8550_LMX	5
> -#define SM8550_MMCX	6
> -#define SM8550_MMCX_AO	7
> -#define SM8550_MX	8
> -#define SM8550_MX_AO	9
> -#define SM8550_MXC	10
> -#define SM8550_MXC_AO	11
> -#define SM8550_MSS	12
> -#define SM8550_NSP	13
> -
> -/* QDU1000/QRU1000 Power Domain Indexes */
> -#define QDU1000_EBI	0
> -#define QDU1000_MSS	1
> -#define QDU1000_CX	2
> -#define QDU1000_MX	3
> -
> -/* SC7180 Power Domain Indexes */
> -#define SC7180_CX	0
> -#define SC7180_CX_AO	1
> -#define SC7180_GFX	2
> -#define SC7180_MX	3
> -#define SC7180_MX_AO	4
> -#define SC7180_LMX	5
> -#define SC7180_LCX	6
> -#define SC7180_MSS	7
> -
> -/* SC7280 Power Domain Indexes */
> -#define SC7280_CX	0
> -#define SC7280_CX_AO	1
> -#define SC7280_EBI	2
> -#define SC7280_GFX	3
> -#define SC7280_MX	4
> -#define SC7280_MX_AO	5
> -#define SC7280_LMX	6
> -#define SC7280_LCX	7
> -#define SC7280_MSS	8
> -
> -/* SC8180X Power Domain Indexes */
> -#define SC8180X_CX	0
> -#define SC8180X_CX_AO	1
> -#define SC8180X_EBI	2
> -#define SC8180X_GFX	3
> -#define SC8180X_LCX	4
> -#define SC8180X_LMX	5
> -#define SC8180X_MMCX	6
> -#define SC8180X_MMCX_AO	7
> -#define SC8180X_MSS	8
> -#define SC8180X_MX	9
> -#define SC8180X_MX_AO	10
> -
> -/* SC8280XP Power Domain Indexes */
> -#define SC8280XP_CX		0
> -#define SC8280XP_CX_AO		1
> -#define SC8280XP_DDR		2
> -#define SC8280XP_EBI		3
> -#define SC8280XP_GFX		4
> -#define SC8280XP_LCX		5
> -#define SC8280XP_LMX		6
> -#define SC8280XP_MMCX		7
> -#define SC8280XP_MMCX_AO	8
> -#define SC8280XP_MSS		9
> -#define SC8280XP_MX		10
> -#define SC8280XP_MXC		12
> -#define SC8280XP_MX_AO		11
> -#define SC8280XP_NSP		13
> -#define SC8280XP_QPHY		14
> -#define SC8280XP_XO		15
> +#define RPMHPD_CX		0
> +#define RPMHPD_MX		1
> +#define RPMHPD_CX_AO		2
> +#define RPMHPD_MX_AO		3
> +#define RPMHPD_GFX		4
> +#define RPMHPD_MSS		5
> +#define RPMHPD_EBI		6
> +#define RPMHPD_LCX		7
> +#define RPMHPD_LMX		8
> +#define RPMHPD_MMCX		9
> +#define RPMHPD_MMCX_AO		10
> +#define RPMHPD_MXC		11
> +#define RPMHPD_MXC_AO		12
> +#define RPMHPD_NSP		13
> +#define RPMHPD_NSP0		14
> +#define RPMHPD_NSP1		15
> +#define RPMHPD_QPHY		16
> +#define RPMHPD_DDR		17
> +#define RPMHPD_XO		18
> +
> +#define RPMPD_VDDCX		0
> +#define RPMPD_VDDCX_AO		1
> +#define RPMPD_VDDMX		2
> +#define RPMPD_VDDMX_AO		3
> +#define RPMPD_VDDCX_VFL		4
> +#define RPMPD_VDDMX_VFL		5
> +#define RPMPD_VDDCX_VFC		6
> +#define RPMPD_LPI_CX		7
> +#define RPMPD_LPI_MX		8
> +#define RPMPD_SSCCX		9
> +#define RPMPD_SSCCX_VFL		10
> +#define RPMPD_SSCMX		11
> +#define RPMPD_SSCMX_VFL		12
> +#define RPMPD_VDDSSCX		13
> +#define RPMPD_VDDSSCX_VFC	14
> +#define RPMPD_VDDGFX		15
> +#define RPMPD_VDDGFX_VFC	16
> +#define RPMPD_VDDGX		17
> +#define RPMPD_VDDGX_AO		18
> +#define RPMPD_VDDMDCX		19
> +#define RPMPD_VDDMDCX_AO	20
> +#define RPMPD_VDDMDCX_VFC	21
> +#define RPMPD_VDDMD		22
> +#define RPMPD_VDDMD_AO		23
> +#define RPMPD_LPICX_VFL		24
> +#define RPMPD_LPIMX_VFL		25
>  
>  /* SDM845 Power Domain performance levels */
>  #define RPMH_REGULATOR_LEVEL_RETENTION		16
> @@ -241,139 +77,6 @@
>  #define RPMH_REGULATOR_LEVEL_SUPER_TURBO 	464
>  #define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR	480
>  
> -/* MDM9607 Power Domains */
> -#define MDM9607_VDDCX		0
> -#define MDM9607_VDDCX_AO	1
> -#define MDM9607_VDDCX_VFL	2
> -#define MDM9607_VDDMX		3
> -#define MDM9607_VDDMX_AO	4
> -#define MDM9607_VDDMX_VFL	5
> -
> -/* MSM8226 Power Domain Indexes */
> -#define MSM8226_VDDCX		0
> -#define MSM8226_VDDCX_AO	1
> -#define MSM8226_VDDCX_VFC	2
> -
> -/* MSM8939 Power Domains */
> -#define MSM8939_VDDMDCX		0
> -#define MSM8939_VDDMDCX_AO	1
> -#define MSM8939_VDDMDCX_VFC	2
> -#define MSM8939_VDDCX		3
> -#define MSM8939_VDDCX_AO	4
> -#define MSM8939_VDDCX_VFC	5
> -#define MSM8939_VDDMX		6
> -#define MSM8939_VDDMX_AO	7
> -
> -/* MSM8916 Power Domain Indexes */
> -#define MSM8916_VDDCX		0
> -#define MSM8916_VDDCX_AO	1
> -#define MSM8916_VDDCX_VFC	2
> -#define MSM8916_VDDMX		3
> -#define MSM8916_VDDMX_AO	4
> -
> -/* MSM8909 Power Domain Indexes */
> -#define MSM8909_VDDCX		MSM8916_VDDCX
> -#define MSM8909_VDDCX_AO	MSM8916_VDDCX_AO
> -#define MSM8909_VDDCX_VFC	MSM8916_VDDCX_VFC
> -#define MSM8909_VDDMX		MSM8916_VDDMX
> -#define MSM8909_VDDMX_AO	MSM8916_VDDMX_AO
> -
> -/* MSM8953 Power Domain Indexes */
> -#define MSM8953_VDDMD		0
> -#define MSM8953_VDDMD_AO	1
> -#define MSM8953_VDDCX		2
> -#define MSM8953_VDDCX_AO	3
> -#define MSM8953_VDDCX_VFL	4
> -#define MSM8953_VDDMX		5
> -#define MSM8953_VDDMX_AO	6
> -
> -/* MSM8976 Power Domain Indexes */
> -#define MSM8976_VDDCX		0
> -#define MSM8976_VDDCX_AO	1
> -#define MSM8976_VDDCX_VFL	2
> -#define MSM8976_VDDMX		3
> -#define MSM8976_VDDMX_AO	4
> -#define MSM8976_VDDMX_VFL	5
> -
> -/* MSM8994 Power Domain Indexes */
> -#define MSM8994_VDDCX		0
> -#define MSM8994_VDDCX_AO	1
> -#define MSM8994_VDDCX_VFC	2
> -#define MSM8994_VDDMX		3
> -#define MSM8994_VDDMX_AO	4
> -#define MSM8994_VDDGFX		5
> -#define MSM8994_VDDGFX_VFC	6
> -
> -/* MSM8996 Power Domain Indexes */
> -#define MSM8996_VDDCX		0
> -#define MSM8996_VDDCX_AO	1
> -#define MSM8996_VDDCX_VFC	2
> -#define MSM8996_VDDMX		3
> -#define MSM8996_VDDMX_AO	4
> -#define MSM8996_VDDSSCX		5
> -#define MSM8996_VDDSSCX_VFC	6
> -
> -/* MSM8998 Power Domain Indexes */
> -#define MSM8998_VDDCX		0
> -#define MSM8998_VDDCX_AO	1
> -#define MSM8998_VDDCX_VFL	2
> -#define MSM8998_VDDMX		3
> -#define MSM8998_VDDMX_AO	4
> -#define MSM8998_VDDMX_VFL	5
> -#define MSM8998_SSCCX		6
> -#define MSM8998_SSCCX_VFL	7
> -#define MSM8998_SSCMX		8
> -#define MSM8998_SSCMX_VFL	9
> -
> -/* QCS404 Power Domains */
> -#define QCS404_VDDMX		0
> -#define QCS404_VDDMX_AO		1
> -#define QCS404_VDDMX_VFL	2
> -#define QCS404_LPICX		3
> -#define QCS404_LPICX_VFL	4
> -#define QCS404_LPIMX		5
> -#define QCS404_LPIMX_VFL	6
> -
> -/* SDM660 Power Domains */
> -#define SDM660_VDDCX		0
> -#define SDM660_VDDCX_AO		1
> -#define SDM660_VDDCX_VFL	2
> -#define SDM660_VDDMX		3
> -#define SDM660_VDDMX_AO		4
> -#define SDM660_VDDMX_VFL	5
> -#define SDM660_SSCCX		6
> -#define SDM660_SSCCX_VFL	7
> -#define SDM660_SSCMX		8
> -#define SDM660_SSCMX_VFL	9
> -
> -/* SM6115 Power Domains */
> -#define SM6115_VDDCX		0
> -#define SM6115_VDDCX_AO		1
> -#define SM6115_VDDCX_VFL	2
> -#define SM6115_VDDMX		3
> -#define SM6115_VDDMX_AO		4
> -#define SM6115_VDDMX_VFL	5
> -#define SM6115_VDD_LPI_CX	6
> -#define SM6115_VDD_LPI_MX	7
> -
> -/* SM6125 Power Domains */
> -#define SM6125_VDDCX		0
> -#define SM6125_VDDCX_AO		1
> -#define SM6125_VDDCX_VFL	2
> -#define SM6125_VDDMX		3
> -#define SM6125_VDDMX_AO		4
> -#define SM6125_VDDMX_VFL	5
> -
> -/* QCM2290 Power Domains */
> -#define QCM2290_VDDCX		0
> -#define QCM2290_VDDCX_AO	1
> -#define QCM2290_VDDCX_VFL	2
> -#define QCM2290_VDDMX		3
> -#define QCM2290_VDDMX_AO	4
> -#define QCM2290_VDDMX_VFL	5
> -#define QCM2290_VDD_LPI_CX	6
> -#define QCM2290_VDD_LPI_MX	7
> -
>  /* RPM SMD Power Domain performance levels */
>  #define RPM_SMD_LEVEL_RETENTION       16
>  #define RPM_SMD_LEVEL_RETENTION_PLUS  32

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

* Re: [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06  9:59   ` Konrad Dybcio
@ 2023-07-06 10:07     ` Rohit Agarwal
  0 siblings, 0 replies; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06 10:07 UTC (permalink / raw)
  To: Konrad Dybcio, agross, andersson, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree


On 7/6/2023 3:29 PM, Konrad Dybcio wrote:
> On 6.07.2023 11:20, Rohit Agarwal wrote:
>> Remove the SoC specific entries and add a generic set of defines
>> that can be used by all the SoCs. This will remove the duplicate
>> entries among SoCs.
>> The arrangement of the defines is done according to the frequency
>> used in SoC specific entries in the driver to avoid wastage of
>> memory.
>>
>> Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
>> Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> It was easy to misunderstand, but that's not what I meant :/
>
> Basically we can't do what's done in this commit, as everything in
> include/dt-bindings is ABI and unless there's a good reason (e.g. "this
> could have never worked anyway"), it shouldn't be broken.
>
> What we *should* do though, is apply this to all new platforms.
> We unfortunately have to carry this legacy baggage so long as we
> keep the RPM(h)PD drivers around.
>
> So, with your SDX75 addition, please use the new, SoC-independent
> indices and keep the old junk as stinky as it was
Okay. I thought maybe we can apply to all the previous SoCs as well. Fine.
I will introduce all the new macros as in this patch (even that are 
unused for SDX75)
keeping the older ones as it is and from SDX75 we can use the newer ones.

Thanks,
Rohit.
> Konrad
>> ---
>>   include/dt-bindings/power/qcom-rpmpd.h | 389 ++++-----------------------------
>>   1 file changed, 46 insertions(+), 343 deletions(-)
>>
>> diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
>> index 83be996..fa2ed08 100644
>> --- a/include/dt-bindings/power/qcom-rpmpd.h
>> +++ b/include/dt-bindings/power/qcom-rpmpd.h
>> @@ -4,216 +4,52 @@
>>   #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
>>   #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
>>   
>> -/* SA8775P Power Domain Indexes */
>> -#define SA8775P_CX	0
>> -#define SA8775P_CX_AO	1
>> -#define SA8775P_DDR	2
>> -#define SA8775P_EBI	3
>> -#define SA8775P_GFX	4
>> -#define SA8775P_LCX	5
>> -#define SA8775P_LMX	6
>> -#define SA8775P_MMCX	7
>> -#define SA8775P_MMCX_AO	8
>> -#define SA8775P_MSS	9
>> -#define SA8775P_MX	10
>> -#define SA8775P_MX_AO	11
>> -#define SA8775P_MXC	12
>> -#define SA8775P_MXC_AO	13
>> -#define SA8775P_NSP0	14
>> -#define SA8775P_NSP1	15
>> -#define SA8775P_XO	16
>> -
>> -/* SDM670 Power Domain Indexes */
>> -#define SDM670_MX	0
>> -#define SDM670_MX_AO	1
>> -#define SDM670_CX	2
>> -#define SDM670_CX_AO	3
>> -#define SDM670_LMX	4
>> -#define SDM670_LCX	5
>> -#define SDM670_GFX	6
>> -#define SDM670_MSS	7
>> -
>> -/* SDM845 Power Domain Indexes */
>> -#define SDM845_EBI	0
>> -#define SDM845_MX	1
>> -#define SDM845_MX_AO	2
>> -#define SDM845_CX	3
>> -#define SDM845_CX_AO	4
>> -#define SDM845_LMX	5
>> -#define SDM845_LCX	6
>> -#define SDM845_GFX	7
>> -#define SDM845_MSS	8
>> -
>> -/* SDX55 Power Domain Indexes */
>> -#define SDX55_MSS	0
>> -#define SDX55_MX	1
>> -#define SDX55_CX	2
>> -
>> -/* SDX65 Power Domain Indexes */
>> -#define SDX65_MSS	0
>> -#define SDX65_MX	1
>> -#define SDX65_MX_AO	2
>> -#define SDX65_CX	3
>> -#define SDX65_CX_AO	4
>> -#define SDX65_MXC	5
>> -
>> -/* SM6350 Power Domain Indexes */
>> -#define SM6350_CX	0
>> -#define SM6350_GFX	1
>> -#define SM6350_LCX	2
>> -#define SM6350_LMX	3
>> -#define SM6350_MSS	4
>> -#define SM6350_MX	5
>> -
>> -/* SM6350 Power Domain Indexes */
>> -#define SM6375_VDDCX		0
>> -#define SM6375_VDDCX_AO	1
>> -#define SM6375_VDDCX_VFL	2
>> -#define SM6375_VDDMX		3
>> -#define SM6375_VDDMX_AO	4
>> -#define SM6375_VDDMX_VFL	5
>> -#define SM6375_VDDGX		6
>> -#define SM6375_VDDGX_AO	7
>> -#define SM6375_VDD_LPI_CX	8
>> -#define SM6375_VDD_LPI_MX	9
>> -
>> -/* SM8150 Power Domain Indexes */
>> -#define SM8150_MSS	0
>> -#define SM8150_EBI	1
>> -#define SM8150_LMX	2
>> -#define SM8150_LCX	3
>> -#define SM8150_GFX	4
>> -#define SM8150_MX	5
>> -#define SM8150_MX_AO	6
>> -#define SM8150_CX	7
>> -#define SM8150_CX_AO	8
>> -#define SM8150_MMCX	9
>> -#define SM8150_MMCX_AO	10
>> -
>> -/* SA8155P is a special case, kept for backwards compatibility */
>> -#define SA8155P_CX	SM8150_CX
>> -#define SA8155P_CX_AO	SM8150_CX_AO
>> -#define SA8155P_EBI	SM8150_EBI
>> -#define SA8155P_GFX	SM8150_GFX
>> -#define SA8155P_MSS	SM8150_MSS
>> -#define SA8155P_MX	SM8150_MX
>> -#define SA8155P_MX_AO	SM8150_MX_AO
>> -
>> -/* SM8250 Power Domain Indexes */
>> -#define SM8250_CX	0
>> -#define SM8250_CX_AO	1
>> -#define SM8250_EBI	2
>> -#define SM8250_GFX	3
>> -#define SM8250_LCX	4
>> -#define SM8250_LMX	5
>> -#define SM8250_MMCX	6
>> -#define SM8250_MMCX_AO	7
>> -#define SM8250_MX	8
>> -#define SM8250_MX_AO	9
>> -
>> -/* SM8350 Power Domain Indexes */
>> -#define SM8350_CX	0
>> -#define SM8350_CX_AO	1
>> -#define SM8350_EBI	2
>> -#define SM8350_GFX	3
>> -#define SM8350_LCX	4
>> -#define SM8350_LMX	5
>> -#define SM8350_MMCX	6
>> -#define SM8350_MMCX_AO	7
>> -#define SM8350_MX	8
>> -#define SM8350_MX_AO	9
>> -#define SM8350_MXC	10
>> -#define SM8350_MXC_AO	11
>> -#define SM8350_MSS	12
>> -
>> -/* SM8450 Power Domain Indexes */
>> -#define SM8450_CX	0
>> -#define SM8450_CX_AO	1
>> -#define SM8450_EBI	2
>> -#define SM8450_GFX	3
>> -#define SM8450_LCX	4
>> -#define SM8450_LMX	5
>> -#define SM8450_MMCX	6
>> -#define SM8450_MMCX_AO	7
>> -#define SM8450_MX	8
>> -#define SM8450_MX_AO	9
>> -#define SM8450_MXC	10
>> -#define SM8450_MXC_AO	11
>> -#define SM8450_MSS	12
>> -
>> -/* SM8550 Power Domain Indexes */
>> -#define SM8550_CX	0
>> -#define SM8550_CX_AO	1
>> -#define SM8550_EBI	2
>> -#define SM8550_GFX	3
>> -#define SM8550_LCX	4
>> -#define SM8550_LMX	5
>> -#define SM8550_MMCX	6
>> -#define SM8550_MMCX_AO	7
>> -#define SM8550_MX	8
>> -#define SM8550_MX_AO	9
>> -#define SM8550_MXC	10
>> -#define SM8550_MXC_AO	11
>> -#define SM8550_MSS	12
>> -#define SM8550_NSP	13
>> -
>> -/* QDU1000/QRU1000 Power Domain Indexes */
>> -#define QDU1000_EBI	0
>> -#define QDU1000_MSS	1
>> -#define QDU1000_CX	2
>> -#define QDU1000_MX	3
>> -
>> -/* SC7180 Power Domain Indexes */
>> -#define SC7180_CX	0
>> -#define SC7180_CX_AO	1
>> -#define SC7180_GFX	2
>> -#define SC7180_MX	3
>> -#define SC7180_MX_AO	4
>> -#define SC7180_LMX	5
>> -#define SC7180_LCX	6
>> -#define SC7180_MSS	7
>> -
>> -/* SC7280 Power Domain Indexes */
>> -#define SC7280_CX	0
>> -#define SC7280_CX_AO	1
>> -#define SC7280_EBI	2
>> -#define SC7280_GFX	3
>> -#define SC7280_MX	4
>> -#define SC7280_MX_AO	5
>> -#define SC7280_LMX	6
>> -#define SC7280_LCX	7
>> -#define SC7280_MSS	8
>> -
>> -/* SC8180X Power Domain Indexes */
>> -#define SC8180X_CX	0
>> -#define SC8180X_CX_AO	1
>> -#define SC8180X_EBI	2
>> -#define SC8180X_GFX	3
>> -#define SC8180X_LCX	4
>> -#define SC8180X_LMX	5
>> -#define SC8180X_MMCX	6
>> -#define SC8180X_MMCX_AO	7
>> -#define SC8180X_MSS	8
>> -#define SC8180X_MX	9
>> -#define SC8180X_MX_AO	10
>> -
>> -/* SC8280XP Power Domain Indexes */
>> -#define SC8280XP_CX		0
>> -#define SC8280XP_CX_AO		1
>> -#define SC8280XP_DDR		2
>> -#define SC8280XP_EBI		3
>> -#define SC8280XP_GFX		4
>> -#define SC8280XP_LCX		5
>> -#define SC8280XP_LMX		6
>> -#define SC8280XP_MMCX		7
>> -#define SC8280XP_MMCX_AO	8
>> -#define SC8280XP_MSS		9
>> -#define SC8280XP_MX		10
>> -#define SC8280XP_MXC		12
>> -#define SC8280XP_MX_AO		11
>> -#define SC8280XP_NSP		13
>> -#define SC8280XP_QPHY		14
>> -#define SC8280XP_XO		15
>> +#define RPMHPD_CX		0
>> +#define RPMHPD_MX		1
>> +#define RPMHPD_CX_AO		2
>> +#define RPMHPD_MX_AO		3
>> +#define RPMHPD_GFX		4
>> +#define RPMHPD_MSS		5
>> +#define RPMHPD_EBI		6
>> +#define RPMHPD_LCX		7
>> +#define RPMHPD_LMX		8
>> +#define RPMHPD_MMCX		9
>> +#define RPMHPD_MMCX_AO		10
>> +#define RPMHPD_MXC		11
>> +#define RPMHPD_MXC_AO		12
>> +#define RPMHPD_NSP		13
>> +#define RPMHPD_NSP0		14
>> +#define RPMHPD_NSP1		15
>> +#define RPMHPD_QPHY		16
>> +#define RPMHPD_DDR		17
>> +#define RPMHPD_XO		18
>> +
>> +#define RPMPD_VDDCX		0
>> +#define RPMPD_VDDCX_AO		1
>> +#define RPMPD_VDDMX		2
>> +#define RPMPD_VDDMX_AO		3
>> +#define RPMPD_VDDCX_VFL		4
>> +#define RPMPD_VDDMX_VFL		5
>> +#define RPMPD_VDDCX_VFC		6
>> +#define RPMPD_LPI_CX		7
>> +#define RPMPD_LPI_MX		8
>> +#define RPMPD_SSCCX		9
>> +#define RPMPD_SSCCX_VFL		10
>> +#define RPMPD_SSCMX		11
>> +#define RPMPD_SSCMX_VFL		12
>> +#define RPMPD_VDDSSCX		13
>> +#define RPMPD_VDDSSCX_VFC	14
>> +#define RPMPD_VDDGFX		15
>> +#define RPMPD_VDDGFX_VFC	16
>> +#define RPMPD_VDDGX		17
>> +#define RPMPD_VDDGX_AO		18
>> +#define RPMPD_VDDMDCX		19
>> +#define RPMPD_VDDMDCX_AO	20
>> +#define RPMPD_VDDMDCX_VFC	21
>> +#define RPMPD_VDDMD		22
>> +#define RPMPD_VDDMD_AO		23
>> +#define RPMPD_LPICX_VFL		24
>> +#define RPMPD_LPIMX_VFL		25
>>   
>>   /* SDM845 Power Domain performance levels */
>>   #define RPMH_REGULATOR_LEVEL_RETENTION		16
>> @@ -241,139 +77,6 @@
>>   #define RPMH_REGULATOR_LEVEL_SUPER_TURBO 	464
>>   #define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR	480
>>   
>> -/* MDM9607 Power Domains */
>> -#define MDM9607_VDDCX		0
>> -#define MDM9607_VDDCX_AO	1
>> -#define MDM9607_VDDCX_VFL	2
>> -#define MDM9607_VDDMX		3
>> -#define MDM9607_VDDMX_AO	4
>> -#define MDM9607_VDDMX_VFL	5
>> -
>> -/* MSM8226 Power Domain Indexes */
>> -#define MSM8226_VDDCX		0
>> -#define MSM8226_VDDCX_AO	1
>> -#define MSM8226_VDDCX_VFC	2
>> -
>> -/* MSM8939 Power Domains */
>> -#define MSM8939_VDDMDCX		0
>> -#define MSM8939_VDDMDCX_AO	1
>> -#define MSM8939_VDDMDCX_VFC	2
>> -#define MSM8939_VDDCX		3
>> -#define MSM8939_VDDCX_AO	4
>> -#define MSM8939_VDDCX_VFC	5
>> -#define MSM8939_VDDMX		6
>> -#define MSM8939_VDDMX_AO	7
>> -
>> -/* MSM8916 Power Domain Indexes */
>> -#define MSM8916_VDDCX		0
>> -#define MSM8916_VDDCX_AO	1
>> -#define MSM8916_VDDCX_VFC	2
>> -#define MSM8916_VDDMX		3
>> -#define MSM8916_VDDMX_AO	4
>> -
>> -/* MSM8909 Power Domain Indexes */
>> -#define MSM8909_VDDCX		MSM8916_VDDCX
>> -#define MSM8909_VDDCX_AO	MSM8916_VDDCX_AO
>> -#define MSM8909_VDDCX_VFC	MSM8916_VDDCX_VFC
>> -#define MSM8909_VDDMX		MSM8916_VDDMX
>> -#define MSM8909_VDDMX_AO	MSM8916_VDDMX_AO
>> -
>> -/* MSM8953 Power Domain Indexes */
>> -#define MSM8953_VDDMD		0
>> -#define MSM8953_VDDMD_AO	1
>> -#define MSM8953_VDDCX		2
>> -#define MSM8953_VDDCX_AO	3
>> -#define MSM8953_VDDCX_VFL	4
>> -#define MSM8953_VDDMX		5
>> -#define MSM8953_VDDMX_AO	6
>> -
>> -/* MSM8976 Power Domain Indexes */
>> -#define MSM8976_VDDCX		0
>> -#define MSM8976_VDDCX_AO	1
>> -#define MSM8976_VDDCX_VFL	2
>> -#define MSM8976_VDDMX		3
>> -#define MSM8976_VDDMX_AO	4
>> -#define MSM8976_VDDMX_VFL	5
>> -
>> -/* MSM8994 Power Domain Indexes */
>> -#define MSM8994_VDDCX		0
>> -#define MSM8994_VDDCX_AO	1
>> -#define MSM8994_VDDCX_VFC	2
>> -#define MSM8994_VDDMX		3
>> -#define MSM8994_VDDMX_AO	4
>> -#define MSM8994_VDDGFX		5
>> -#define MSM8994_VDDGFX_VFC	6
>> -
>> -/* MSM8996 Power Domain Indexes */
>> -#define MSM8996_VDDCX		0
>> -#define MSM8996_VDDCX_AO	1
>> -#define MSM8996_VDDCX_VFC	2
>> -#define MSM8996_VDDMX		3
>> -#define MSM8996_VDDMX_AO	4
>> -#define MSM8996_VDDSSCX		5
>> -#define MSM8996_VDDSSCX_VFC	6
>> -
>> -/* MSM8998 Power Domain Indexes */
>> -#define MSM8998_VDDCX		0
>> -#define MSM8998_VDDCX_AO	1
>> -#define MSM8998_VDDCX_VFL	2
>> -#define MSM8998_VDDMX		3
>> -#define MSM8998_VDDMX_AO	4
>> -#define MSM8998_VDDMX_VFL	5
>> -#define MSM8998_SSCCX		6
>> -#define MSM8998_SSCCX_VFL	7
>> -#define MSM8998_SSCMX		8
>> -#define MSM8998_SSCMX_VFL	9
>> -
>> -/* QCS404 Power Domains */
>> -#define QCS404_VDDMX		0
>> -#define QCS404_VDDMX_AO		1
>> -#define QCS404_VDDMX_VFL	2
>> -#define QCS404_LPICX		3
>> -#define QCS404_LPICX_VFL	4
>> -#define QCS404_LPIMX		5
>> -#define QCS404_LPIMX_VFL	6
>> -
>> -/* SDM660 Power Domains */
>> -#define SDM660_VDDCX		0
>> -#define SDM660_VDDCX_AO		1
>> -#define SDM660_VDDCX_VFL	2
>> -#define SDM660_VDDMX		3
>> -#define SDM660_VDDMX_AO		4
>> -#define SDM660_VDDMX_VFL	5
>> -#define SDM660_SSCCX		6
>> -#define SDM660_SSCCX_VFL	7
>> -#define SDM660_SSCMX		8
>> -#define SDM660_SSCMX_VFL	9
>> -
>> -/* SM6115 Power Domains */
>> -#define SM6115_VDDCX		0
>> -#define SM6115_VDDCX_AO		1
>> -#define SM6115_VDDCX_VFL	2
>> -#define SM6115_VDDMX		3
>> -#define SM6115_VDDMX_AO		4
>> -#define SM6115_VDDMX_VFL	5
>> -#define SM6115_VDD_LPI_CX	6
>> -#define SM6115_VDD_LPI_MX	7
>> -
>> -/* SM6125 Power Domains */
>> -#define SM6125_VDDCX		0
>> -#define SM6125_VDDCX_AO		1
>> -#define SM6125_VDDCX_VFL	2
>> -#define SM6125_VDDMX		3
>> -#define SM6125_VDDMX_AO		4
>> -#define SM6125_VDDMX_VFL	5
>> -
>> -/* QCM2290 Power Domains */
>> -#define QCM2290_VDDCX		0
>> -#define QCM2290_VDDCX_AO	1
>> -#define QCM2290_VDDCX_VFL	2
>> -#define QCM2290_VDDMX		3
>> -#define QCM2290_VDDMX_AO	4
>> -#define QCM2290_VDDMX_VFL	5
>> -#define QCM2290_VDD_LPI_CX	6
>> -#define QCM2290_VDD_LPI_MX	7
>> -
>>   /* RPM SMD Power Domain performance levels */
>>   #define RPM_SMD_LEVEL_RETENTION       16
>>   #define RPM_SMD_LEVEL_RETENTION_PLUS  32

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

* Re: [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06  9:20 ` [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries Rohit Agarwal
  2023-07-06  9:59   ` Konrad Dybcio
@ 2023-07-06 10:45   ` Krzysztof Kozlowski
  2023-07-06 10:53     ` Rohit Agarwal
  1 sibling, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-07-06 10:45 UTC (permalink / raw)
  To: Rohit Agarwal, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree

On 06/07/2023 11:20, Rohit Agarwal wrote:
> Remove the SoC specific entries and add a generic set of defines
> that can be used by all the SoCs. This will remove the duplicate
> entries among SoCs.
> The arrangement of the defines is done according to the frequency
> used in SoC specific entries in the driver to avoid wastage of
> memory.
> 
> Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
> Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Please compile kernel with this commit and tell us what is wrong... Even
if bindings were not an ABI, but they are, this would not work.

Best regards,
Krzysztof


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

* Re: [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06 10:45   ` Krzysztof Kozlowski
@ 2023-07-06 10:53     ` Rohit Agarwal
  2023-07-06 10:57       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06 10:53 UTC (permalink / raw)
  To: Krzysztof Kozlowski, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree


On 7/6/2023 4:15 PM, Krzysztof Kozlowski wrote:
> On 06/07/2023 11:20, Rohit Agarwal wrote:
>> Remove the SoC specific entries and add a generic set of defines
>> that can be used by all the SoCs. This will remove the duplicate
>> entries among SoCs.
>> The arrangement of the defines is done according to the frequency
>> used in SoC specific entries in the driver to avoid wastage of
>> memory.
>>
>> Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
>> Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Please compile kernel with this commit and tell us what is wrong... Even
> if bindings were not an ABI, but they are, this would not work.
Do you mean that individually this commit would fail compilation?
Yes, we would need all the patches together for compilation to be 
successful.
Sorry for this mistake. Will keep in mind from next time.

Thanks,
Rohit.
> Best regards,
> Krzysztof
>

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

* Re: [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06 10:53     ` Rohit Agarwal
@ 2023-07-06 10:57       ` Krzysztof Kozlowski
  2023-07-06 11:03         ` Rohit Agarwal
  0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-07-06 10:57 UTC (permalink / raw)
  To: Rohit Agarwal, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree

On 06/07/2023 12:53, Rohit Agarwal wrote:
> 
> On 7/6/2023 4:15 PM, Krzysztof Kozlowski wrote:
>> On 06/07/2023 11:20, Rohit Agarwal wrote:
>>> Remove the SoC specific entries and add a generic set of defines
>>> that can be used by all the SoCs. This will remove the duplicate
>>> entries among SoCs.
>>> The arrangement of the defines is done according to the frequency
>>> used in SoC specific entries in the driver to avoid wastage of
>>> memory.
>>>
>>> Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
>>> Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>> Please compile kernel with this commit and tell us what is wrong... Even
>> if bindings were not an ABI, but they are, this would not work.
> Do you mean that individually this commit would fail compilation?
> Yes, we would need all the patches together for compilation to be 
> successful.

Yeah, it is not bisectable.

Another problem is ABI impact, but I think Konrad covered it.

Best regards,
Krzysztof


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

* Re: [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries
  2023-07-06 10:57       ` Krzysztof Kozlowski
@ 2023-07-06 11:03         ` Rohit Agarwal
  0 siblings, 0 replies; 10+ messages in thread
From: Rohit Agarwal @ 2023-07-06 11:03 UTC (permalink / raw)
  To: Krzysztof Kozlowski, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt
  Cc: linux-arm-msm, linux-kernel, devicetree


On 7/6/2023 4:27 PM, Krzysztof Kozlowski wrote:
> On 06/07/2023 12:53, Rohit Agarwal wrote:
>> On 7/6/2023 4:15 PM, Krzysztof Kozlowski wrote:
>>> On 06/07/2023 11:20, Rohit Agarwal wrote:
>>>> Remove the SoC specific entries and add a generic set of defines
>>>> that can be used by all the SoCs. This will remove the duplicate
>>>> entries among SoCs.
>>>> The arrangement of the defines is done according to the frequency
>>>> used in SoC specific entries in the driver to avoid wastage of
>>>> memory.
>>>>
>>>> Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
>>>> Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>>> Please compile kernel with this commit and tell us what is wrong... Even
>>> if bindings were not an ABI, but they are, this would not work.
>> Do you mean that individually this commit would fail compilation?
>> Yes, we would need all the patches together for compilation to be
>> successful.
> Yeah, it is not bisectable.
>
> Another problem is ABI impact, but I think Konrad covered it.

Yes, Thanks

>
> Best regards,
> Krzysztof
>

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

end of thread, other threads:[~2023-07-06 11:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-06  9:20 [PATCH 0/3] Refactor the rpmhpd macros Rohit Agarwal
2023-07-06  9:20 ` [PATCH 1/3] dt-bindings: power: rpmpd: Remove the SoC specific entries Rohit Agarwal
2023-07-06  9:59   ` Konrad Dybcio
2023-07-06 10:07     ` Rohit Agarwal
2023-07-06 10:45   ` Krzysztof Kozlowski
2023-07-06 10:53     ` Rohit Agarwal
2023-07-06 10:57       ` Krzysztof Kozlowski
2023-07-06 11:03         ` Rohit Agarwal
2023-07-06  9:20 ` [PATCH 2/3] soc: qcom: rpmpd: Update the entries of PD macros Rohit Agarwal
2023-07-06  9:20 ` [PATCH 3/3] soc: qcom: rpmphd: " Rohit Agarwal

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.