]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/x86: intel_telemetry: Fix PSS event register mask
authorKaushlendra Kumar <kaushlendra.kumar@intel.com>
Wed, 24 Dec 2025 06:11:44 +0000 (11:41 +0530)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 26 Jan 2026 14:42:43 +0000 (16:42 +0200)
The PSS telemetry info parsing incorrectly applies
TELEM_INFO_SRAMEVTS_MASK when extracting event register
count from firmware response. This reads bits 15-8 instead
of the correct bits 7-0, causing misdetection of hardware
capabilities.

The IOSS path correctly uses TELEM_INFO_NENABLES_MASK for
register count. Apply the same mask to PSS parsing for
consistency.

Fixes: 9d16b482b059 ("platform:x86: Add Intel telemetry platform driver")
Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
Link: https://patch.msgid.link/20251224061144.3925519-1-kaushlendra.kumar@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/telemetry/pltdrv.c

index f23c170a55dc674be2e287072b4cf69aab2f8fdf..d9aa349f81e412757ef844f6b503b13ecbc28faf 100644 (file)
@@ -610,7 +610,7 @@ static int telemetry_setup(struct platform_device *pdev)
        /* Get telemetry Info */
        events = (read_buf & TELEM_INFO_SRAMEVTS_MASK) >>
                  TELEM_INFO_SRAMEVTS_SHIFT;
-       event_regs = read_buf & TELEM_INFO_SRAMEVTS_MASK;
+       event_regs = read_buf & TELEM_INFO_NENABLES_MASK;
        if ((events < TELEM_MAX_EVENTS_SRAM) ||
            (event_regs < TELEM_MAX_EVENTS_SRAM)) {
                dev_err(&pdev->dev, "PSS:Insufficient Space for SRAM Trace\n");