Message ID | 20210726144653.2180096-3-robdclark@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | drm/msm: Improved devfreq tuning | expand |
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; > } >
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; }