]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - drivers/pmdomain/qcom/rpmhpd.c
Merge tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[thirdparty/linux.git] / drivers / pmdomain / qcom / rpmhpd.c
index 27a73ff72614dba6ee2e7b1903c784b9c2f888eb..de9121ef4216b363e8f72ffbc671f5ffcfefd56e 100644 (file)
@@ -691,6 +691,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);
@@ -700,9 +701,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);