mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
Merge "cpuidle: governors: qcom-lpm: Misc Fixes"
This commit is contained in:
commit
35a81ef8ec
|
|
@ -1,6 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/cpu.h>
|
||||
|
|
@ -390,14 +391,14 @@ void update_cluster_select(struct lpm_cpu *cpu_gov)
|
|||
if (!cluster_gov->initialized)
|
||||
continue;
|
||||
|
||||
spin_lock(&cluster_gov->lock);
|
||||
cluster_gov->now = cpu_gov->now;
|
||||
genpd = cluster_gov->genpd;
|
||||
if (cpumask_test_cpu(cpu, genpd->cpus)) {
|
||||
spin_lock(&cluster_gov->lock);
|
||||
cluster_gov->now = cpu_gov->now;
|
||||
cluster_gov->cpu_next_wakeup[cpu] = cpu_gov->next_wakeup;
|
||||
update_cluster_next_wakeup(cluster_gov);
|
||||
spin_unlock(&cluster_gov->lock);
|
||||
}
|
||||
spin_unlock(&cluster_gov->lock);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -345,7 +345,8 @@ static void update_cpu_history(struct lpm_cpu *cpu_gov)
|
|||
u64 measured_us = ktime_to_us(cpu_gov->dev->last_residency_ns);
|
||||
struct cpuidle_state *target;
|
||||
|
||||
if (prediction_disabled || idx < 0 || idx > cpu_gov->drv->state_count - 1)
|
||||
if (sleep_disabled || prediction_disabled || idx < 0 ||
|
||||
idx > cpu_gov->drv->state_count - 1)
|
||||
return;
|
||||
|
||||
target = &cpu_gov->drv->states[idx];
|
||||
|
|
@ -568,7 +569,7 @@ static int lpm_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
|
|||
for (i = drv->state_count - 1; i > 0; i--) {
|
||||
struct cpuidle_state *s = &drv->states[i];
|
||||
|
||||
if (i && dev->states_usage[i].disable) {
|
||||
if (dev->states_usage[i].disable) {
|
||||
reason |= UPDATE_REASON(i, LPM_SELECT_STATE_DISABLED);
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user