From: Jongpill Lee Date: Mon, 17 Sep 2012 04:23:54 +0000 (+0900) Subject: PM QoS: add a PM_QOS_BUS_THROUGHPUT class X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=be796d4bc01613083d8026ac3dcb01d1daca4874;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git PM QoS: add a PM_QOS_BUS_THROUGHPUT class This patch adds PM_QOS_BUS_THROUGHPUT class. Signed-off-by: Jongpill Lee Conflicts: kernel/power/qos.c Change-Id: Ie0dadfe362e9cb05978cb25f153a082e279027d9 Signed-off-by: Sungjinn Chung --- diff --git a/include/linux/pm_qos.h b/include/linux/pm_qos.h index 19fc8521b23a..dfef3afeec33 100644 --- a/include/linux/pm_qos.h +++ b/include/linux/pm_qos.h @@ -15,6 +15,7 @@ enum { PM_QOS_CPU_DMA_LATENCY, PM_QOS_NETWORK_LATENCY, PM_QOS_DEVICE_THROUGHPUT, + PM_QOS_BUS_THROUGHPUT, PM_QOS_NETWORK_THROUGHPUT, PM_QOS_MEMORY_BANDWIDTH, @@ -34,6 +35,7 @@ enum pm_qos_flags_status { #define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) #define PM_QOS_NETWORK_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) #define PM_QOS_DEVICE_THROUGHPUT_DEFAULT_VALUE 0 +#define PM_QOS_BUS_THROUGHPUT_DEFAULT_VALUE 0 #define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE 0 #define PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE 0 #define PM_QOS_RESUME_LATENCY_DEFAULT_VALUE 0 diff --git a/kernel/power/qos.c b/kernel/power/qos.c index 3a805d6c98f8..ea5617f83657 100644 --- a/kernel/power/qos.c +++ b/kernel/power/qos.c @@ -105,6 +105,19 @@ static struct pm_qos_object device_throughput_pm_qos = { .name = "device_throughput", }; +static BLOCKING_NOTIFIER_HEAD(bus_throughput_notifier); +static struct pm_qos_constraints bus_tput_constraints = { + .list = PLIST_HEAD_INIT(bus_tput_constraints.list), + .target_value = PM_QOS_BUS_THROUGHPUT_DEFAULT_VALUE, + .default_value = PM_QOS_BUS_THROUGHPUT_DEFAULT_VALUE, + .type = PM_QOS_MAX, + .notifiers = &bus_throughput_notifier, +}; +static struct pm_qos_object bus_throughput_pm_qos = { + .constraints = &bus_tput_constraints, + .name = "bus_throughput", +}; + static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier); static struct pm_qos_constraints network_tput_constraints = { .list = PLIST_HEAD_INIT(network_tput_constraints.list), @@ -140,6 +153,7 @@ static struct pm_qos_object *pm_qos_array[] = { &cpu_dma_pm_qos, &network_lat_pm_qos, &device_throughput_pm_qos, + &bus_throughput_pm_qos, &network_throughput_pm_qos, &memory_bandwidth_pm_qos, };