[Freedreno] [PATCH v4 3/7] drm: msm: a6xx: set gpu freq through hfi
Akhil P Oommen
akhilpo at codeaurora.org
Thu Jul 9 20:00:23 UTC 2020
Newer targets support changing gpu frequency through HFI. So
use that wherever supported instead of the legacy method.
Signed-off-by: Akhil P Oommen <akhilpo at 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
More information about the Freedreno
mailing list