[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240119090502.3869695-5-li.meng@amd.com>
Date: Fri, 19 Jan 2024 17:04:59 +0800
From: Meng Li <li.meng@....com>
To: "Rafael J . Wysocki" <rafael.j.wysocki@...el.com>, Borislav Petkov
<bpetkov@....com>, Huang Rui <ray.huang@....com>
CC: <linux-pm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<x86@...nel.org>, <linux-acpi@...r.kernel.org>, Shuah Khan
<skhan@...uxfoundation.org>, <linux-kselftest@...r.kernel.org>, "Nathan
Fontenot" <nathan.fontenot@....com>, Deepak Sharma <deepak.sharma@....com>,
Alex Deucher <alexander.deucher@....com>, Mario Limonciello
<mario.limonciello@....com>, Shimmer Huang <shimmer.huang@....com>, "Perry
Yuan" <Perry.Yuan@....com>, Xiaojian Du <Xiaojian.Du@....com>, Viresh Kumar
<viresh.kumar@...aro.org>, Borislav Petkov <bp@...en8.de>, "Oleksandr
Natalenko" <oleksandr@...alenko.name>, Meng Li <li.meng@....com>, Perry Yuan
<perry.yuan@....com>
Subject: [PATCH V14 4/7] cpufreq: Add a notification message that the highest perf has changed
BIOS issues the notify 0x85 to OS that the highest performance
changed. And it will affect the ranking of the preferred core.
AMD-pstate driver will set the priority of cores based on the
preferred core ranking.
Tested-by: Oleksandr Natalenko <oleksandr@...alenko.name>
Reviewed-by: Mario Limonciello <mario.limonciello@....com>
Reviewed-by: Huang Rui <ray.huang@....com>
Reviewed-by: Perry Yuan <perry.yuan@....com>
Signed-off-by: Meng Li <li.meng@....com>
Link: https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#processor-device-notification-values
---
drivers/acpi/processor_driver.c | 6 ++++++
include/linux/cpufreq.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index 4bd16b3f0781..67db60eda370 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -27,6 +27,7 @@
#define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80
#define ACPI_PROCESSOR_NOTIFY_POWER 0x81
#define ACPI_PROCESSOR_NOTIFY_THROTTLING 0x82
+#define ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED 0x85
MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_DESCRIPTION("ACPI Processor Driver");
@@ -83,6 +84,11 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
acpi_bus_generate_netlink_event(device->pnp.device_class,
dev_name(&device->dev), event, 0);
break;
+ case ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED:
+ cpufreq_update_limits(pr->id);
+ acpi_bus_generate_netlink_event(device->pnp.device_class,
+ dev_name(&device->dev), event, 0);
+ break;
default:
acpi_handle_debug(handle, "Unsupported event [0x%x]\n", event);
break;
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index afda5f24d3dd..9bebeec24abb 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -263,6 +263,7 @@ static inline bool cpufreq_supports_freq_invariance(void)
return false;
}
static inline void disable_cpufreq(void) { }
+static inline void cpufreq_update_limits(unsigned int cpu) { }
#endif
#ifdef CONFIG_CPU_FREQ_STAT
--
2.34.1
Powered by blists - more mailing lists