Re: [PATCH v4 3/7] drm: msm: a6xx: set gpu freq through hfi

From: Jonathan Marek
Date: Thu Jul 09 2020 - 16:05:49 EST


On 7/9/20 4:00 PM, Akhil P Oommen wrote:
Newer targets support changing gpu frequency through HFI. So
use that wherever supported instead of the legacy method.


It was already using HFI on newer targets. Don't break it in one commit then fix it in the next.

Signed-off-by: Akhil P Oommen <akhilpo@xxxxxxxxxxxxxx>
---
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