In some chipsets like Hawi, the GPU arc level can exceed the highest
available MX corner. In that case, use the highest non-zero MX vote instead
of failing GMU initialization.

Signed-off-by: Akhil P Oommen <[email protected]>
---
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c 
b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 2b66d6c7fd19..14d422d7ab95 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -1833,7 +1833,7 @@ static int a6xx_gmu_rpmh_dep_votes_init(struct device 
*dev, u32 *votes,
        /* Construct a vote for rest of the corners */
        for (int i = 1; i < freqs_count; i++) {
                unsigned int level = a6xx_gmu_get_arc_level(dev, freqs[i]);
-               int index = a6xx_gmu_rpmh_arc_index(dev, mx, count, level, 
false);
+               int index = a6xx_gmu_rpmh_arc_index(dev, mx, count, level, 
true);
                int bx;
 
                if (index < 0)

-- 
2.55.0

Reply via email to