From 965ae5a8c0de7c83e9d28481d5bf15ba8d43e6a2 Mon Sep 17 00:00:00 2001
From: Martin Kepplinger <martin.kepplinger@puri.sm>
Date: Mon, 8 Jul 2019 15:36:16 +0200
Subject: [PATCH] gpu: imx: dcss: remove pm_qos usage

Using pm_qos results in (imx8mq) cpus never being able to reach
the cpu-sleep C-state, see https://lwn.net/Articles/384146/ for
some background. The pm_qos API is very rarely used in general.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
---
 drivers/gpu/imx/dcss/dcss-common.c | 9 ---------
 drivers/gpu/imx/dcss/dcss-prv.h    | 4 ----
 2 files changed, 13 deletions(-)

diff --git a/drivers/gpu/imx/dcss/dcss-common.c b/drivers/gpu/imx/dcss/dcss-common.c
index c1ddb5700ca15..bff80ecbbabe8 100644
--- a/drivers/gpu/imx/dcss/dcss-common.c
+++ b/drivers/gpu/imx/dcss/dcss-common.c
@@ -18,7 +18,6 @@
 #include <linux/of_graph.h>
 #include <linux/clk.h>
 #include <linux/pm_runtime.h>
-#include <linux/pm_qos.h>
 #include <video/imx-dcss.h>
 
 #include <drm/drm_fourcc.h>
@@ -495,8 +494,6 @@ static int dcss_suspend(struct device *dev)
 
 	dcss_clocks_enable(dcss, false);
 
-	pm_qos_remove_request(&dcss->pm_qos_req);
-
 	dcss_bus_freq(dcss, false);
 
 	return 0;
@@ -512,8 +509,6 @@ static int dcss_resume(struct device *dev)
 
 	dcss_bus_freq(dcss, true);
 
-	pm_qos_add_request(&dcss->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, 0);
-
 	dcss_clocks_enable(dcss, true);
 
 	dcss_blkctl_cfg(dcss);
@@ -537,8 +532,6 @@ static int dcss_runtime_suspend(struct device *dev)
 
 	dcss_clocks_enable(dcss, false);
 
-	pm_qos_remove_request(&dcss->pm_qos_req);
-
 	dcss_bus_freq(dcss, false);
 
 	return 0;
@@ -551,8 +544,6 @@ static int dcss_runtime_resume(struct device *dev)
 
 	dcss_bus_freq(dcss, true);
 
-	pm_qos_add_request(&dcss->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, 0);
-
 	dcss_clocks_enable(dcss, true);
 
 	dcss_blkctl_cfg(dcss);
diff --git a/drivers/gpu/imx/dcss/dcss-prv.h b/drivers/gpu/imx/dcss/dcss-prv.h
index ae9551a8953f0..2b2252e9489d7 100644
--- a/drivers/gpu/imx/dcss/dcss-prv.h
+++ b/drivers/gpu/imx/dcss/dcss-prv.h
@@ -1,8 +1,6 @@
 #ifndef __DCSS_PRV_H__
 #define __DCSS_PRV_H__
 
-#include <linux/pm_qos.h>
-
 #define SET 0x04
 #define CLR 0x08
 #define TGL 0x0C
@@ -59,8 +57,6 @@ struct dcss_soc {
 
 	bool bus_freq_req;
 	bool clks_on;
-
-	struct pm_qos_request pm_qos_req;
 };
 
 /* BLKCTL */
-- 
GitLab