cpuidle: Respect the CPU system wakeup QoS limit for cpuidle
The CPU system wakeup QoS limit must be respected for the regular cpuidle state selection. Therefore, let's extend the common governor helper cpuidle_governor_latency_req(), to take the constraint into account. Reviewed-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Kevin Hilman (TI) <khilman@baylibre.com> Tested-by: Kevin Hilman (TI) <khilman@baylibre.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://patch.msgid.link/20251125112650.329269-6-ulf.hansson@linaro.org Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>pull/1354/merge
parent
99b42445f4
commit
2b8d594742
|
|
@ -111,6 +111,10 @@ s64 cpuidle_governor_latency_req(unsigned int cpu)
|
||||||
struct device *device = get_cpu_device(cpu);
|
struct device *device = get_cpu_device(cpu);
|
||||||
int device_req = dev_pm_qos_raw_resume_latency(device);
|
int device_req = dev_pm_qos_raw_resume_latency(device);
|
||||||
int global_req = cpu_latency_qos_limit();
|
int global_req = cpu_latency_qos_limit();
|
||||||
|
int global_wake_req = cpu_wakeup_latency_qos_limit();
|
||||||
|
|
||||||
|
if (global_req > global_wake_req)
|
||||||
|
global_req = global_wake_req;
|
||||||
|
|
||||||
if (device_req > global_req)
|
if (device_req > global_req)
|
||||||
device_req = global_req;
|
device_req = global_req;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue