On 26/07/2021 17:46, Rob Clark wrote:
From: Rob Clark robdclark@chromium.org
In the next patch, it grows a bit more, so lets not duplicate the logic in multiple places.
Signed-off-by: Rob Clark robdclark@chromium.org
Reviewed-by: Dmitry Baryshkov dmitry.baryshkov@linaro.org
drivers/gpu/drm/msm/msm_gpu_devfreq.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_gpu_devfreq.c b/drivers/gpu/drm/msm/msm_gpu_devfreq.c index 3bcea0baddab..2e24a97be624 100644 --- a/drivers/gpu/drm/msm/msm_gpu_devfreq.c +++ b/drivers/gpu/drm/msm/msm_gpu_devfreq.c @@ -37,17 +37,21 @@ static int msm_devfreq_target(struct device *dev, unsigned long *freq, return 0; }
+static unsigned long get_freq(struct msm_gpu *gpu) +{
- if (gpu->funcs->gpu_get_freq)
return gpu->funcs->gpu_get_freq(gpu);
- return clk_get_rate(gpu->core_clk);
+}
- static int msm_devfreq_get_dev_status(struct device *dev, struct devfreq_dev_status *status) { struct msm_gpu *gpu = dev_to_gpu(dev); ktime_t time;
- if (gpu->funcs->gpu_get_freq)
status->current_frequency = gpu->funcs->gpu_get_freq(gpu);
- else
status->current_frequency = clk_get_rate(gpu->core_clk);
status->current_frequency = get_freq(gpu); status->busy_time = gpu->funcs->gpu_busy(gpu);
time = ktime_get();
@@ -59,12 +63,7 @@ static int msm_devfreq_get_dev_status(struct device *dev,
static int msm_devfreq_get_cur_freq(struct device *dev, unsigned long *freq) {
- struct msm_gpu *gpu = dev_to_gpu(dev);
- if (gpu->funcs->gpu_get_freq)
*freq = gpu->funcs->gpu_get_freq(gpu);
- else
*freq = clk_get_rate(gpu->core_clk);
*freq = get_freq(dev_to_gpu(dev));
return 0; }