[PATCH v2 3/3] soc: qcom: socinfo: Add support for new fields in revision 22

From: Mukesh Ojha
Date: Fri Apr 25 2025 - 10:01:07 EST


Add the ncluster_cores_array_offset field with socinfo structure
revision 22 which specifies no of cores present in each cluster.

Signed-off-by: Mukesh Ojha <mukesh.ojha@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- Added debugfs entry.

drivers/soc/qcom/socinfo.c | 6 ++++++
include/linux/soc/qcom/socinfo.h | 2 ++
2 files changed, 8 insertions(+)

diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c
index bac1485f1b27..13cf73744bd9 100644
--- a/drivers/soc/qcom/socinfo.c
+++ b/drivers/soc/qcom/socinfo.c
@@ -155,6 +155,7 @@ struct socinfo_params {
u32 boot_core;
u32 raw_package_type;
u32 nsubpart_feat_array_offset;
+ u32 ncluster_cores_array_offset;
};

struct smem_image_version {
@@ -609,6 +610,11 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
&qcom_socinfo->info.fmt);

switch (qcom_socinfo->info.fmt) {
+ case SOCINFO_VERSION(0, 22):
+ qcom_socinfo->info.ncluster_cores_array_offset =
+ __le32_to_cpu(info->ncluster_cores_array_offset);
+ debugfs_create_u32("ncluster_cores_array_offset", 0444, qcom_socinfo->dbg_root,
+ &qcom_socinfo->info.ncluster_cores_array_offset);
case SOCINFO_VERSION(0, 21):
qcom_socinfo->info.nsubpart_feat_array_offset =
__le32_to_cpu(info->nsubpart_feat_array_offset);
diff --git a/include/linux/soc/qcom/socinfo.h b/include/linux/soc/qcom/socinfo.h
index 3666870b7988..0c12090311aa 100644
--- a/include/linux/soc/qcom/socinfo.h
+++ b/include/linux/soc/qcom/socinfo.h
@@ -86,6 +86,8 @@ struct socinfo {
__le32 raw_package_type;
/* Version 21 */
__le32 nsubpart_feat_array_offset;
+ /* Version 22 */
+ __le32 ncluster_cores_array_offset;
};

/* Internal feature codes */
--
2.34.1