summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@nxp.com>2017-12-07 12:57:19 +0200
committerRobby Cai <robby.cai@nxp.com>2017-12-12 11:10:11 +0800
commit00320edeef69dbd3081f14fa743a9861d1c5ffa0 (patch)
treecab951e99c0b7eff099e9e0ccec17d7d5f9e8aa4
parent29eada32dc206257477541acc7cb8beecfc8035f (diff)
MLK-17140-1: drm: imx: dcss: add PM QoSrel_imx_4.9.51_8mq_beta
PM QoS is needed so that cpuidle doesn not influence DCSS performance. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com> (cherry picked from commit 7a2d01f0aea5aba2cc7cb574d623ebb5a2354d64)
-rw-r--r--drivers/gpu/imx/dcss/dcss-common.c9
-rw-r--r--drivers/gpu/imx/dcss/dcss-prv.h4
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/imx/dcss/dcss-common.c b/drivers/gpu/imx/dcss/dcss-common.c
index b6cb93c99188..cd4afdc3f76e 100644
--- a/drivers/gpu/imx/dcss/dcss-common.c
+++ b/drivers/gpu/imx/dcss/dcss-common.c
@@ -19,6 +19,7 @@
#include <linux/clk.h>
#include <linux/pm_runtime.h>
#include <linux/busfreq-imx.h>
+#include <linux/pm_qos.h>
#include <video/imx-dcss.h>
#include <drm/drm_fourcc.h>
@@ -473,6 +474,8 @@ 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;
@@ -488,6 +491,8 @@ 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);
@@ -512,6 +517,8 @@ 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;
@@ -524,6 +531,8 @@ 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 3df06c539b28..d2b739d18e7d 100644
--- a/drivers/gpu/imx/dcss/dcss-prv.h
+++ b/drivers/gpu/imx/dcss/dcss-prv.h
@@ -1,6 +1,8 @@
#ifndef __DCSS_PRV_H__
#define __DCSS_PRV_H__
+#include <linux/pm_qos.h>
+
#define SET 0x04
#define CLR 0x08
#define TGL 0x0C
@@ -54,6 +56,8 @@ struct dcss_soc {
bool bus_freq_req;
bool clks_on;
+
+ struct pm_qos_request pm_qos_req;
};
/* BLKCTL */