drm/msm: Split out get_freq() helper
authorRob Clark <robdclark@chromium.org>
Mon, 26 Jul 2021 14:46:49 +0000 (07:46 -0700)
committerRob Clark <robdclark@chromium.org>
Wed, 28 Jul 2021 00:54:36 +0000 (17:54 -0700)
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>
Link: https://lore.kernel.org/r/20210726144653.2180096-3-robdclark@gmail.com
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/msm_gpu_devfreq.c

index 3bcea0baddab33b4476176f25a700069fd7a231b..2e24a97be624b41bae370ae4f107766fc63d0905 100644 (file)
@@ -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;
 }