[PATCH 12/17] drm/msm: Skip devfreq IDLE when possible
From: Akhil P Oommen
Date: Sun Jul 20 2025 - 08:19:33 EST
When IFPC is supported, devfreq idling is redundant and adds
unnecessary pm suspend/wake latency. So skip it when IFPC is
supported.
Signed-off-by: Akhil P Oommen <akhilpo@xxxxxxxxxxxxxxxx>
---
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@xxxxxxxxx>
*/
+#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