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 <akhi...@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 <robdcl...@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

Reply via email to