diff options
author | Laurentiu Palcu <laurentiu.palcu@nxp.com> | 2017-12-07 12:57:19 +0200 |
---|---|---|
committer | Robby Cai <robby.cai@nxp.com> | 2017-12-12 11:10:11 +0800 |
commit | 00320edeef69dbd3081f14fa743a9861d1c5ffa0 (patch) | |
tree | cab951e99c0b7eff099e9e0ccec17d7d5f9e8aa4 | |
parent | 29eada32dc206257477541acc7cb8beecfc8035f (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.c | 9 | ||||
-rw-r--r-- | drivers/gpu/imx/dcss/dcss-prv.h | 4 |
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 */ |