Newer targets support changing gpu frequency through HFI. So
use that wherever supported instead of the legacy method.

Signed-off-by: Akhil P Oommen <akhi...@codeaurora.org>
---
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c 
b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 233afea..b547339 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -121,6 +121,12 @@ void a6xx_gmu_set_freq(struct msm_gpu *gpu, struct 
dev_pm_opp *opp)
                if (gpu_freq == gmu->gpu_freqs[perf_index])
                        break;
 
+       if (!gmu->legacy) {
+               a6xx_hfi_set_freq(gmu, gmu->current_perf_index);
+               icc_set_bw(gpu->icc_path, 0, MBps_to_icc(7216));
+               return;
+       }
+
        gmu->current_perf_index = perf_index;
        gmu->freq = gmu->gpu_freqs[perf_index];
 
@@ -893,10 +899,7 @@ int a6xx_gmu_resume(struct a6xx_gpu *a6xx_gpu)
        enable_irq(gmu->hfi_irq);
 
        /* Set the GPU to the current freq */
-       if (gmu->legacy)
-               a6xx_gmu_set_initial_freq(gpu, gmu);
-       else
-               a6xx_hfi_set_freq(gmu, gmu->current_perf_index);
+       a6xx_gmu_set_initial_freq(gpu, gmu);
 
        /*
         * "enable" the GX power domain which won't actually do anything but it
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to