acpi/bus: Enable HWP CPPC objects
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tue, 22 Nov 2016 20:23:58 +0000 (12:23 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 24 Nov 2016 19:44:20 +0000 (20:44 +0100)
Need to set platform wide _OSC bits to enable CPPC and CPPC version 2.
If platform supports CPPC, then BIOS exposes CPPC tables.

The primary reason to enable CPPC support is to get the maximum
performance of each CPU to check and enable Intel Turbo Boost Max
Technology 3.0 (ITMT).

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Cc: linux-pm@vger.kernel.org
Cc: peterz@infradead.org
Cc: jolsa@redhat.com
Cc: rjw@rjwysocki.net
Cc: linux-acpi@vger.kernel.org
Cc: bp@suse.de
Link: http://lkml.kernel.org/r/a696f6b17843cee9a542482fae6abab087be9587.1479844244.git.tim.c.chen@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/acpi/bus.c

index 56190d00fd87042461f430c5aa1cdd82fb60dc8d..2f381ba1e1f243477b890c436d1484b9c6fe09f3 100644 (file)
@@ -331,6 +331,13 @@ static void acpi_bus_osc_support(void)
        capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
        capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PCLPI_SUPPORT;
 
+#ifdef CONFIG_X86
+       if (boot_cpu_has(X86_FEATURE_HWP)) {
+               capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_SUPPORT;
+               capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPCV2_SUPPORT;
+       }
+#endif
+
        if (!ghes_disable)
                capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
        if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))