platform/x86: thinkpad_acpi: do not use PSC mode on Intel platforms
authorMark Pearson <markpearson@lenovo.com>
Mon, 27 Jun 2022 18:14:49 +0000 (14:14 -0400)
committerHans de Goede <hdegoede@redhat.com>
Tue, 28 Jun 2022 20:20:04 +0000 (22:20 +0200)
PSC platform profile mode is only supported on Linux for AMD platforms.

Some older Intel platforms (e.g T490) are advertising it's capability
as Windows uses it - but on Linux we should only be using MMC profile
for Intel systems.

Add a check to prevent it being enabled incorrectly.

Signed-off-by: Mark Pearson <markpearson@lenovo.com>
Link: https://lore.kernel.org/r/20220627181449.3537-1-markpearson@lenovo.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/thinkpad_acpi.c

index b4d6a356b7462ce5b3363aa973afdd7c59a6b9a9..a8b383051528517a452b2a13e60f55c908d94f26 100644 (file)
@@ -10541,6 +10541,11 @@ static int tpacpi_dytc_profile_init(struct ibm_init_struct *iibm)
                                dytc_mmc_get_available = true;
                }
        } else if (dytc_capabilities & BIT(DYTC_FC_PSC)) { /* PSC MODE */
+               /* Support for this only works on AMD platforms */
+               if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) {
+                       dbg_printk(TPACPI_DBG_INIT, "PSC not support on Intel platforms\n");
+                       return -ENODEV;
+               }
                pr_debug("PSC is supported\n");
        } else {
                dbg_printk(TPACPI_DBG_INIT, "No DYTC support available\n");