summaryrefslogtreecommitdiff
path: root/drivers/pmdomain/qcom
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2024-02-28 16:34:13 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2024-02-28 16:34:13 +0100
commit04581ea2b2377c91f704b1170f8c97c957fb1330 (patch)
tree07adf697a71d095a957e48b8bc5a64658a21cbb4 /drivers/pmdomain/qcom
parent713240877a26f3cc035d6531795bd819dfaa633c (diff)
parent2a93c6cbd5a703d44c414a3c3945a87ce11430ba (diff)
pmdomain: Merge branch fixes into next
Merge the pmdomain fixes for v6.8-rc[n] into the next branch, to allow them to get tested together with the new changes that are targeted for v6.9. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/pmdomain/qcom')
-rw-r--r--drivers/pmdomain/qcom/rpmhpd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c
index 3078896b1300..47df910645f6 100644
--- a/drivers/pmdomain/qcom/rpmhpd.c
+++ b/drivers/pmdomain/qcom/rpmhpd.c
@@ -692,6 +692,7 @@ static int rpmhpd_aggregate_corner(struct rpmhpd *pd, unsigned int corner)
unsigned int active_corner, sleep_corner;
unsigned int this_active_corner = 0, this_sleep_corner = 0;
unsigned int peer_active_corner = 0, peer_sleep_corner = 0;
+ unsigned int peer_enabled_corner;
if (pd->state_synced) {
to_active_sleep(pd, corner, &this_active_corner, &this_sleep_corner);
@@ -701,9 +702,11 @@ static int rpmhpd_aggregate_corner(struct rpmhpd *pd, unsigned int corner)
this_sleep_corner = pd->level_count - 1;
}
- if (peer && peer->enabled)
- to_active_sleep(peer, peer->corner, &peer_active_corner,
+ if (peer && peer->enabled) {
+ peer_enabled_corner = max(peer->corner, peer->enable_corner);
+ to_active_sleep(peer, peer_enabled_corner, &peer_active_corner,
&peer_sleep_corner);
+ }
active_corner = max(this_active_corner, peer_active_corner);