soc: qcom: socinfo: Add support for new fields in revision 18
authorNaman Jain <quic_namajain@quicinc.com>
Tue, 6 Jun 2023 13:46:25 +0000 (19:16 +0530)
committerBjorn Andersson <andersson@kernel.org>
Tue, 13 Jun 2023 18:15:41 +0000 (11:15 -0700)
Add support for below fields coming in socinfo structure under v18:
* num_kvps: number of key value pairs (KVP)
* kvps_offset: the offset of the KVP table from the base address of
  socinfo structure in SMEM
KVP table has boolean values for certain feature flags, used to determine
hardware configuration.

Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230606134626.18790-2-quic_namajain@quicinc.com
drivers/soc/qcom/socinfo.c
include/linux/soc/qcom/socinfo.h

index dfd4330..cb70f84 100644 (file)
@@ -565,6 +565,7 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
                           &qcom_socinfo->info.fmt);
 
        switch (qcom_socinfo->info.fmt) {
+       case SOCINFO_VERSION(0, 18):
        case SOCINFO_VERSION(0, 17):
                qcom_socinfo->info.oem_variant = __le32_to_cpu(info->oem_variant);
                debugfs_create_u32("oem_variant", 0444, qcom_socinfo->dbg_root,
index d1cbc49..3cc266d 100644 (file)
@@ -65,6 +65,9 @@ struct socinfo {
        __le32  nnum_partname_mapping;
        /* Version 17 */
        __le32 oem_variant;
+       /* Version 18 */
+       __le32 num_kvps;
+       __le32 kvps_offset;
 };
 
 #endif