[PATCH 12/17] drm/msm: Skip devfreq IDLE when possible
Rob Clark
rob.clark at oss.qualcomm.com
Tue Jul 22 15:38:16 UTC 2025
On Tue, Jul 22, 2025 at 6:50 AM Dmitry Baryshkov
<dmitry.baryshkov at oss.qualcomm.com> wrote:
>
> On Sun, Jul 20, 2025 at 05:46:13PM +0530, Akhil P Oommen wrote:
> > When IFPC is supported, devfreq idling is redundant and adds
> > unnecessary pm suspend/wake latency. So skip it when IFPC is
> > supported.
>
> With this in place we have a dummy devfreq instance which does nothing.
> Wouldn't it be better to skip registering devfreq if IFPC is supported
> on the platform?
devfreq is still scaling the freq. What is being bypassed is
essentially a CPU based version of IFPC (because on sc7180 we didn't
have IFPC
Currently only a618 and 7c3 enable gpu_clamp_to_idle.. if at some
point those grew IFPC support we could remove the trickery to drop GPU
to min freq when it is idle altogether.
BR,
-R
> >
> > Signed-off-by: Akhil P Oommen <akhilpo at oss.qualcomm.com>
> > ---
> > drivers/gpu/drm/msm/msm_gpu_devfreq.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/msm/msm_gpu_devfreq.c b/drivers/gpu/drm/msm/msm_gpu_devfreq.c
> > index 2e1d5c3432728cde15d91f69da22bb915588fe86..53ef2add5047e7d6b6371af949cab36ce8409372 100644
> > --- a/drivers/gpu/drm/msm/msm_gpu_devfreq.c
> > +++ b/drivers/gpu/drm/msm/msm_gpu_devfreq.c
> > @@ -4,6 +4,7 @@
> > * Author: Rob Clark <robdclark at gmail.com>
> > */
> >
> > +#include "adreno/adreno_gpu.h"
> > #include "msm_gpu.h"
> > #include "msm_gpu_trace.h"
> >
> > @@ -300,6 +301,8 @@ void msm_devfreq_active(struct msm_gpu *gpu)
> > if (!has_devfreq(gpu))
> > return;
> >
> > + if (to_adreno_gpu(gpu)->info->quirks & ADRENO_QUIRK_IFPC)
> > + return;
> > /*
> > * Cancel any pending transition to idle frequency:
> > */
> > @@ -370,6 +373,9 @@ void msm_devfreq_idle(struct msm_gpu *gpu)
> > if (!has_devfreq(gpu))
> > return;
> >
> > + if (to_adreno_gpu(gpu)->info->quirks & ADRENO_QUIRK_IFPC)
> > + return;
> > +
> > msm_hrtimer_queue_work(&df->idle_work, ms_to_ktime(1),
> > HRTIMER_MODE_REL);
> > }
> >
> > --
> > 2.50.1
> >
>
> --
> With best wishes
> Dmitry
More information about the dri-devel
mailing list