diff mbox series

[6/7] interconnect: qcom: qcs404: Add regmaps and more bus descriptions

Message ID 20240609182112.13032-7-a39.skl@gmail.com
State Superseded
Headers show
Series msm8937/msm8976/qcs404 icc patches | expand

Commit Message

Adam Skladowski June 9, 2024, 6:20 p.m. UTC
Currently we are lacking descriptions of regmaps and buses,
provide them.

Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
---
 drivers/interconnect/qcom/qcs404.c | 41 +++++++++++++++++++++++++++---
 1 file changed, 38 insertions(+), 3 deletions(-)

Comments

kernel test robot June 10, 2024, 9:55 a.m. UTC | #1
Hi Adam,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.10-rc3 next-20240607]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Adam-Skladowski/dt-bindings-interconnect-Add-Qualcomm-MSM8976-DT-bindings/20240610-022416
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20240609182112.13032-7-a39.skl%40gmail.com
patch subject: [PATCH 6/7] interconnect: qcom: qcs404: Add regmaps and more bus descriptions
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240610/202406101715.AMP9VWkx-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240610/202406101715.AMP9VWkx-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/202406101715.AMP9VWkx-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

>> drivers/interconnect/qcom/qcs404.c:1070:21: error: variable 'qcs404_bimc_regmap_config' has initializer but incomplete type
    1070 | static const struct regmap_config qcs404_bimc_regmap_config = {
         |                     ^~~~~~~~~~~~~
>> drivers/interconnect/qcom/qcs404.c:1071:10: error: 'const struct regmap_config' has no member named 'reg_bits'
    1071 |         .reg_bits = 32,
         |          ^~~~~~~~
>> drivers/interconnect/qcom/qcs404.c:1071:21: warning: excess elements in struct initializer
    1071 |         .reg_bits = 32,
         |                     ^~
   drivers/interconnect/qcom/qcs404.c:1071:21: note: (near initialization for 'qcs404_bimc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1072:10: error: 'const struct regmap_config' has no member named 'reg_stride'
    1072 |         .reg_stride = 4,
         |          ^~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1072:23: warning: excess elements in struct initializer
    1072 |         .reg_stride = 4,
         |                       ^
   drivers/interconnect/qcom/qcs404.c:1072:23: note: (near initialization for 'qcs404_bimc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1073:10: error: 'const struct regmap_config' has no member named 'val_bits'
    1073 |         .val_bits = 32,
         |          ^~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1073:21: warning: excess elements in struct initializer
    1073 |         .val_bits = 32,
         |                     ^~
   drivers/interconnect/qcom/qcs404.c:1073:21: note: (near initialization for 'qcs404_bimc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1074:10: error: 'const struct regmap_config' has no member named 'max_register'
    1074 |         .max_register = 0x80000,
         |          ^~~~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1074:25: warning: excess elements in struct initializer
    1074 |         .max_register = 0x80000,
         |                         ^~~~~~~
   drivers/interconnect/qcom/qcs404.c:1074:25: note: (near initialization for 'qcs404_bimc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1075:10: error: 'const struct regmap_config' has no member named 'fast_io'
    1075 |         .fast_io = true,
         |          ^~~~~~~
   drivers/interconnect/qcom/qcs404.c:1075:20: warning: excess elements in struct initializer
    1075 |         .fast_io = true,
         |                    ^~~~
   drivers/interconnect/qcom/qcs404.c:1075:20: note: (near initialization for 'qcs404_bimc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1137:21: error: variable 'qcs404_pcnoc_regmap_config' has initializer but incomplete type
    1137 | static const struct regmap_config qcs404_pcnoc_regmap_config = {
         |                     ^~~~~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1138:10: error: 'const struct regmap_config' has no member named 'reg_bits'
    1138 |         .reg_bits = 32,
         |          ^~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1138:21: warning: excess elements in struct initializer
    1138 |         .reg_bits = 32,
         |                     ^~
   drivers/interconnect/qcom/qcs404.c:1138:21: note: (near initialization for 'qcs404_pcnoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1139:10: error: 'const struct regmap_config' has no member named 'reg_stride'
    1139 |         .reg_stride = 4,
         |          ^~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1139:23: warning: excess elements in struct initializer
    1139 |         .reg_stride = 4,
         |                       ^
   drivers/interconnect/qcom/qcs404.c:1139:23: note: (near initialization for 'qcs404_pcnoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1140:10: error: 'const struct regmap_config' has no member named 'val_bits'
    1140 |         .val_bits = 32,
         |          ^~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1140:21: warning: excess elements in struct initializer
    1140 |         .val_bits = 32,
         |                     ^~
   drivers/interconnect/qcom/qcs404.c:1140:21: note: (near initialization for 'qcs404_pcnoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1141:10: error: 'const struct regmap_config' has no member named 'max_register'
    1141 |         .max_register = 0x15080,
         |          ^~~~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1141:25: warning: excess elements in struct initializer
    1141 |         .max_register = 0x15080,
         |                         ^~~~~~~
   drivers/interconnect/qcom/qcs404.c:1141:25: note: (near initialization for 'qcs404_pcnoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1142:10: error: 'const struct regmap_config' has no member named 'fast_io'
    1142 |         .fast_io = true,
         |          ^~~~~~~
   drivers/interconnect/qcom/qcs404.c:1142:20: warning: excess elements in struct initializer
    1142 |         .fast_io = true,
         |                    ^~~~
   drivers/interconnect/qcom/qcs404.c:1142:20: note: (near initialization for 'qcs404_pcnoc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1178:21: error: variable 'qcs404_snoc_regmap_config' has initializer but incomplete type
    1178 | static const struct regmap_config qcs404_snoc_regmap_config = {
         |                     ^~~~~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1179:10: error: 'const struct regmap_config' has no member named 'reg_bits'
    1179 |         .reg_bits = 32,
         |          ^~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1179:21: warning: excess elements in struct initializer
    1179 |         .reg_bits = 32,
         |                     ^~
   drivers/interconnect/qcom/qcs404.c:1179:21: note: (near initialization for 'qcs404_snoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1180:10: error: 'const struct regmap_config' has no member named 'reg_stride'
    1180 |         .reg_stride = 4,
         |          ^~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1180:23: warning: excess elements in struct initializer
    1180 |         .reg_stride = 4,
         |                       ^
   drivers/interconnect/qcom/qcs404.c:1180:23: note: (near initialization for 'qcs404_snoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1181:10: error: 'const struct regmap_config' has no member named 'val_bits'
    1181 |         .val_bits = 32,
         |          ^~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1181:21: warning: excess elements in struct initializer
    1181 |         .val_bits = 32,
         |                     ^~
   drivers/interconnect/qcom/qcs404.c:1181:21: note: (near initialization for 'qcs404_snoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1182:10: error: 'const struct regmap_config' has no member named 'max_register'
    1182 |         .max_register = 0x23080,
         |          ^~~~~~~~~~~~
   drivers/interconnect/qcom/qcs404.c:1182:25: warning: excess elements in struct initializer
    1182 |         .max_register = 0x23080,
         |                         ^~~~~~~
   drivers/interconnect/qcom/qcs404.c:1182:25: note: (near initialization for 'qcs404_snoc_regmap_config')
   drivers/interconnect/qcom/qcs404.c:1183:10: error: 'const struct regmap_config' has no member named 'fast_io'
    1183 |         .fast_io = true,
         |          ^~~~~~~
   drivers/interconnect/qcom/qcs404.c:1183:20: warning: excess elements in struct initializer
    1183 |         .fast_io = true,
         |                    ^~~~
   drivers/interconnect/qcom/qcs404.c:1183:20: note: (near initialization for 'qcs404_snoc_regmap_config')
>> drivers/interconnect/qcom/qcs404.c:1070:35: error: storage size of 'qcs404_bimc_regmap_config' isn't known
    1070 | static const struct regmap_config qcs404_bimc_regmap_config = {
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/interconnect/qcom/qcs404.c:1137:35: error: storage size of 'qcs404_pcnoc_regmap_config' isn't known
    1137 | static const struct regmap_config qcs404_pcnoc_regmap_config = {
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/interconnect/qcom/qcs404.c:1178:35: error: storage size of 'qcs404_snoc_regmap_config' isn't known
    1178 | static const struct regmap_config qcs404_snoc_regmap_config = {
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/qcs404_bimc_regmap_config +1070 drivers/interconnect/qcom/qcs404.c

  1069	
> 1070	static const struct regmap_config qcs404_bimc_regmap_config = {
> 1071		.reg_bits = 32,
> 1072		.reg_stride = 4,
> 1073		.val_bits = 32,
> 1074		.max_register = 0x80000,
> 1075		.fast_io = true,
  1076	};
  1077	
  1078	static const struct qcom_icc_desc qcs404_bimc = {
  1079		.type = QCOM_ICC_BIMC,
  1080		.nodes = qcs404_bimc_nodes,
  1081		.num_nodes = ARRAY_SIZE(qcs404_bimc_nodes),
  1082		.bus_clk_desc = &bimc_clk,
  1083		.regmap_cfg = &qcs404_bimc_regmap_config,
  1084		.qos_offset = 0x8000,
  1085		.ab_coeff = 153,
  1086	};
  1087	
  1088	static struct qcom_icc_node * const qcs404_pcnoc_nodes[] = {
  1089		[MASTER_SPDM] = &mas_spdm,
  1090		[MASTER_BLSP_1] = &mas_blsp_1,
  1091		[MASTER_BLSP_2] = &mas_blsp_2,
  1092		[MASTER_XI_USB_HS1] = &mas_xi_usb_hs1,
  1093		[MASTER_CRYPT0] = &mas_crypto,
  1094		[MASTER_SDCC_1] = &mas_sdcc_1,
  1095		[MASTER_SDCC_2] = &mas_sdcc_2,
  1096		[MASTER_SNOC_PCNOC] = &mas_snoc_pcnoc,
  1097		[MASTER_QPIC] = &mas_qpic,
  1098		[PCNOC_INT_0] = &pcnoc_int_0,
  1099		[PCNOC_INT_2] = &pcnoc_int_2,
  1100		[PCNOC_INT_3] = &pcnoc_int_3,
  1101		[PCNOC_S_0] = &pcnoc_s_0,
  1102		[PCNOC_S_1] = &pcnoc_s_1,
  1103		[PCNOC_S_2] = &pcnoc_s_2,
  1104		[PCNOC_S_3] = &pcnoc_s_3,
  1105		[PCNOC_S_4] = &pcnoc_s_4,
  1106		[PCNOC_S_6] = &pcnoc_s_6,
  1107		[PCNOC_S_7] = &pcnoc_s_7,
  1108		[PCNOC_S_8] = &pcnoc_s_8,
  1109		[PCNOC_S_9] = &pcnoc_s_9,
  1110		[PCNOC_S_10] = &pcnoc_s_10,
  1111		[PCNOC_S_11] = &pcnoc_s_11,
  1112		[SLAVE_SPDM] = &slv_spdm,
  1113		[SLAVE_PDM] = &slv_pdm,
  1114		[SLAVE_PRNG] = &slv_prng,
  1115		[SLAVE_TCSR] = &slv_tcsr,
  1116		[SLAVE_SNOC_CFG] = &slv_snoc_cfg,
  1117		[SLAVE_MESSAGE_RAM] = &slv_message_ram,
  1118		[SLAVE_DISP_SS_CFG] = &slv_disp_ss_cfg,
  1119		[SLAVE_GPU_CFG] = &slv_gpu_cfg,
  1120		[SLAVE_BLSP_1] = &slv_blsp_1,
  1121		[SLAVE_BLSP_2] = &slv_blsp_2,
  1122		[SLAVE_TLMM_NORTH] = &slv_tlmm_north,
  1123		[SLAVE_PCIE] = &slv_pcie,
  1124		[SLAVE_ETHERNET] = &slv_ethernet,
  1125		[SLAVE_TLMM_EAST] = &slv_tlmm_east,
  1126		[SLAVE_TCU] = &slv_tcu,
  1127		[SLAVE_PMIC_ARB] = &slv_pmic_arb,
  1128		[SLAVE_SDCC_1] = &slv_sdcc_1,
  1129		[SLAVE_SDCC_2] = &slv_sdcc_2,
  1130		[SLAVE_TLMM_SOUTH] = &slv_tlmm_south,
  1131		[SLAVE_USB_HS] = &slv_usb_hs,
  1132		[SLAVE_USB3] = &slv_usb3,
  1133		[SLAVE_CRYPTO_0_CFG] = &slv_crypto_0_cfg,
  1134		[SLAVE_PCNOC_SNOC] = &slv_pcnoc_snoc,
  1135	};
  1136	
> 1137	static const struct regmap_config qcs404_pcnoc_regmap_config = {
  1138		.reg_bits = 32,
  1139		.reg_stride = 4,
  1140		.val_bits = 32,
  1141		.max_register = 0x15080,
  1142		.fast_io = true,
  1143	};
  1144	
  1145	static const struct qcom_icc_desc qcs404_pcnoc = {
  1146		.type = QCOM_ICC_NOC,
  1147		.nodes = qcs404_pcnoc_nodes,
  1148		.num_nodes = ARRAY_SIZE(qcs404_pcnoc_nodes),
  1149		.bus_clk_desc = &bus_0_clk,
  1150		.qos_offset = 0x7000,
  1151		.keep_alive = true,
  1152		.regmap_cfg = &qcs404_pcnoc_regmap_config,
  1153	};
  1154	
  1155	static struct qcom_icc_node * const qcs404_snoc_nodes[] = {
  1156		[MASTER_QDSS_BAM] = &mas_qdss_bam,
  1157		[MASTER_BIMC_SNOC] = &mas_bimc_snoc,
  1158		[MASTER_PCNOC_SNOC] = &mas_pcnoc_snoc,
  1159		[MASTER_QDSS_ETR] = &mas_qdss_etr,
  1160		[MASTER_EMAC] = &mas_emac,
  1161		[MASTER_PCIE] = &mas_pcie,
  1162		[MASTER_USB3] = &mas_usb3,
  1163		[QDSS_INT] = &qdss_int,
  1164		[SNOC_INT_0] = &snoc_int_0,
  1165		[SNOC_INT_1] = &snoc_int_1,
  1166		[SNOC_INT_2] = &snoc_int_2,
  1167		[SLAVE_KPSS_AHB] = &slv_kpss_ahb,
  1168		[SLAVE_WCSS] = &slv_wcss,
  1169		[SLAVE_SNOC_BIMC_1] = &slv_snoc_bimc_1,
  1170		[SLAVE_IMEM] = &slv_imem,
  1171		[SLAVE_SNOC_PCNOC] = &slv_snoc_pcnoc,
  1172		[SLAVE_QDSS_STM] = &slv_qdss_stm,
  1173		[SLAVE_CATS_0] = &slv_cats_0,
  1174		[SLAVE_CATS_1] = &slv_cats_1,
  1175		[SLAVE_LPASS] = &slv_lpass,
  1176	};
  1177	
> 1178	static const struct regmap_config qcs404_snoc_regmap_config = {
  1179		.reg_bits = 32,
  1180		.reg_stride = 4,
  1181		.val_bits = 32,
  1182		.max_register = 0x23080,
  1183		.fast_io = true,
  1184	};
  1185
kernel test robot June 10, 2024, 1:17 p.m. UTC | #2
Hi Adam,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.10-rc3 next-20240607]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Adam-Skladowski/dt-bindings-interconnect-Add-Qualcomm-MSM8976-DT-bindings/20240610-022416
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20240609182112.13032-7-a39.skl%40gmail.com
patch subject: [PATCH 6/7] interconnect: qcom: qcs404: Add regmaps and more bus descriptions
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20240610/202406102141.1kH3LXFy-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 4403cdbaf01379de96f8d0d6ea4f51a085e37766)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240610/202406102141.1kH3LXFy-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/202406102141.1kH3LXFy-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/interconnect/qcom/qcs404.c:1070:35: error: variable has incomplete type 'const struct regmap_config'
    1070 | static const struct regmap_config qcs404_bimc_regmap_config = {
         |                                   ^
   drivers/interconnect/qcom/icc-rpm.h:136:15: note: forward declaration of 'struct regmap_config'
     136 |         const struct regmap_config *regmap_cfg;
         |                      ^
   drivers/interconnect/qcom/qcs404.c:1137:35: error: variable has incomplete type 'const struct regmap_config'
    1137 | static const struct regmap_config qcs404_pcnoc_regmap_config = {
         |                                   ^
   drivers/interconnect/qcom/icc-rpm.h:136:15: note: forward declaration of 'struct regmap_config'
     136 |         const struct regmap_config *regmap_cfg;
         |                      ^
   drivers/interconnect/qcom/qcs404.c:1178:35: error: variable has incomplete type 'const struct regmap_config'
    1178 | static const struct regmap_config qcs404_snoc_regmap_config = {
         |                                   ^
   drivers/interconnect/qcom/icc-rpm.h:136:15: note: forward declaration of 'struct regmap_config'
     136 |         const struct regmap_config *regmap_cfg;
         |                      ^
   3 errors generated.


vim +1070 drivers/interconnect/qcom/qcs404.c

  1069	
> 1070	static const struct regmap_config qcs404_bimc_regmap_config = {
  1071		.reg_bits = 32,
  1072		.reg_stride = 4,
  1073		.val_bits = 32,
  1074		.max_register = 0x80000,
  1075		.fast_io = true,
  1076	};
  1077
diff mbox series

Patch

diff --git a/drivers/interconnect/qcom/qcs404.c b/drivers/interconnect/qcom/qcs404.c
index 91b2ccc56a33..f9b508a56588 100644
--- a/drivers/interconnect/qcom/qcs404.c
+++ b/drivers/interconnect/qcom/qcs404.c
@@ -1067,10 +1067,22 @@  static struct qcom_icc_node * const qcs404_bimc_nodes[] = {
 	[SLAVE_BIMC_SNOC] = &slv_bimc_snoc,
 };
 
+static const struct regmap_config qcs404_bimc_regmap_config = {
+	.reg_bits = 32,
+	.reg_stride = 4,
+	.val_bits = 32,
+	.max_register = 0x80000,
+	.fast_io = true,
+};
+
 static const struct qcom_icc_desc qcs404_bimc = {
-	.bus_clk_desc = &bimc_clk,
+	.type = QCOM_ICC_BIMC,
 	.nodes = qcs404_bimc_nodes,
 	.num_nodes = ARRAY_SIZE(qcs404_bimc_nodes),
+	.bus_clk_desc = &bimc_clk,
+	.regmap_cfg = &qcs404_bimc_regmap_config,
+	.qos_offset = 0x8000,
+	.ab_coeff = 153,
 };
 
 static struct qcom_icc_node * const qcs404_pcnoc_nodes[] = {
@@ -1122,10 +1134,22 @@  static struct qcom_icc_node * const qcs404_pcnoc_nodes[] = {
 	[SLAVE_PCNOC_SNOC] = &slv_pcnoc_snoc,
 };
 
+static const struct regmap_config qcs404_pcnoc_regmap_config = {
+	.reg_bits = 32,
+	.reg_stride = 4,
+	.val_bits = 32,
+	.max_register = 0x15080,
+	.fast_io = true,
+};
+
 static const struct qcom_icc_desc qcs404_pcnoc = {
-	.bus_clk_desc = &bus_0_clk,
+	.type = QCOM_ICC_NOC,
 	.nodes = qcs404_pcnoc_nodes,
 	.num_nodes = ARRAY_SIZE(qcs404_pcnoc_nodes),
+	.bus_clk_desc = &bus_0_clk,
+	.qos_offset = 0x7000,
+	.keep_alive = true,
+	.regmap_cfg = &qcs404_pcnoc_regmap_config,
 };
 
 static struct qcom_icc_node * const qcs404_snoc_nodes[] = {
@@ -1151,10 +1175,21 @@  static struct qcom_icc_node * const qcs404_snoc_nodes[] = {
 	[SLAVE_LPASS] = &slv_lpass,
 };
 
+static const struct regmap_config qcs404_snoc_regmap_config = {
+	.reg_bits = 32,
+	.reg_stride = 4,
+	.val_bits = 32,
+	.max_register = 0x23080,
+	.fast_io = true,
+};
+
 static const struct qcom_icc_desc qcs404_snoc = {
-	.bus_clk_desc = &bus_1_clk,
+	.type = QCOM_ICC_NOC,
 	.nodes = qcs404_snoc_nodes,
 	.num_nodes = ARRAY_SIZE(qcs404_snoc_nodes),
+	.bus_clk_desc = &bus_1_clk,
+	.qos_offset = 0x11000,
+	.regmap_cfg = &qcs404_snoc_regmap_config,
 };