]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86/intel/tpmi: Change vsec offset to u64
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tue, 5 Mar 2024 19:46:44 +0000 (11:46 -0800)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 12 Mar 2024 10:48:12 +0000 (12:48 +0200)
The vsec offset can be 64 bit long depending on the PFS start. So change
type to u64. Also use 64 bit formatting for seq_printf.

Fixes: 47731fd2865f ("platform/x86/intel: Intel TPMI enumeration driver")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: stable@vger.kernel.org # v6.3+
Link: https://lore.kernel.org/r/20240305194644.2077867-1-srinivas.pandruvada@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/tpmi.c

index e73cdea67fff854c5bc0236769e42aae3539d0bb..910df7c654f481983d725b01b2b840170573fbc7 100644 (file)
@@ -96,7 +96,7 @@ struct intel_tpmi_pfs_entry {
  */
 struct intel_tpmi_pm_feature {
        struct intel_tpmi_pfs_entry pfs_header;
-       unsigned int vsec_offset;
+       u64 vsec_offset;
        struct intel_vsec_device *vsec_dev;
 };
 
@@ -376,7 +376,7 @@ static int tpmi_pfs_dbg_show(struct seq_file *s, void *unused)
                        read_blocked = feature_state.read_blocked ? 'Y' : 'N';
                        write_blocked = feature_state.write_blocked ? 'Y' : 'N';
                }
-               seq_printf(s, "0x%02x\t\t0x%02x\t\t0x%04x\t\t0x%04x\t\t0x%02x\t\t0x%08x\t%c\t%c\t\t%c\t\t%c\n",
+               seq_printf(s, "0x%02x\t\t0x%02x\t\t0x%04x\t\t0x%04x\t\t0x%02x\t\t0x%016llx\t%c\t%c\t\t%c\t\t%c\n",
                           pfs->pfs_header.tpmi_id, pfs->pfs_header.num_entries,
                           pfs->pfs_header.entry_size, pfs->pfs_header.cap_offset,
                           pfs->pfs_header.attribute, pfs->vsec_offset, locked, disabled,
@@ -395,7 +395,8 @@ static int tpmi_mem_dump_show(struct seq_file *s, void *unused)
        struct intel_tpmi_pm_feature *pfs = s->private;
        int count, ret = 0;
        void __iomem *mem;
-       u32 off, size;
+       u32 size;
+       u64 off;
        u8 *buffer;
 
        size = TPMI_GET_SINGLE_ENTRY_SIZE(pfs);
@@ -411,7 +412,7 @@ static int tpmi_mem_dump_show(struct seq_file *s, void *unused)
        mutex_lock(&tpmi_dev_lock);
 
        for (count = 0; count < pfs->pfs_header.num_entries; ++count) {
-               seq_printf(s, "TPMI Instance:%d offset:0x%x\n", count, off);
+               seq_printf(s, "TPMI Instance:%d offset:0x%llx\n", count, off);
 
                mem = ioremap(off, size);
                if (!mem) {