summaryrefslogtreecommitdiff
path: root/kernel/power
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2014-07-11 10:03:01 +0900
committerChanho Park <chanho61.park@samsung.com>2014-11-18 12:00:16 +0900
commited02d6b42f26ef44545f6d6aa41a1c5bdaa8efca (patch)
tree9aaf38263067f0984f42a22bfa602402676b6401 /kernel/power
parentf471a72bd63710b7491a7695fc4913b23b0520b0 (diff)
downloadlinux-3.10-ed02d6b42f26ef44545f6d6aa41a1c5bdaa8efca.tar.gz
linux-3.10-ed02d6b42f26ef44545f6d6aa41a1c5bdaa8efca.tar.bz2
linux-3.10-ed02d6b42f26ef44545f6d6aa41a1c5bdaa8efca.zip
pm_qos: Add PM_QOS_CPU_FREQUENCY pm_qos to guarantee required CPU frequency
This patch add PM_QOS_CPU_FREQUENCY to quarantee required CPU frequency. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'kernel/power')
-rw-r--r--kernel/power/qos.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/power/qos.c b/kernel/power/qos.c
index 789e69f0ec9..457d0f27911 100644
--- a/kernel/power/qos.c
+++ b/kernel/power/qos.c
@@ -113,12 +113,26 @@ static struct pm_qos_object bus_frequency_pm_qos = {
.name = "bus_frequency",
};
+static BLOCKING_NOTIFIER_HEAD(cpu_frequency_notifier);
+static struct pm_qos_constraints cpu_frequency_constraints = {
+ .list = PLIST_HEAD_INIT(cpu_frequency_constraints.list),
+ .target_value = PM_QOS_CPU_FREQUENCY_DEFAULT_VALUE,
+ .default_value = PM_QOS_CPU_FREQUENCY_DEFAULT_VALUE,
+ .type = PM_QOS_MAX,
+ .notifiers = &cpu_frequency_notifier,
+};
+static struct pm_qos_object cpu_frequency_pm_qos = {
+ .constraints = &cpu_frequency_constraints,
+ .name = "cpu_frequency",
+};
+
static struct pm_qos_object *pm_qos_array[] = {
&null_pm_qos,
&cpu_dma_pm_qos,
&network_lat_pm_qos,
&network_throughput_pm_qos,
&bus_frequency_pm_qos,
+ &cpu_frequency_pm_qos,
};
static ssize_t pm_qos_power_write(struct file *filp, const char __user *buf,