PM QoS: add a PM_QOS_BUS_THROUGHPUT class
authorJongpill Lee <boyko.lee@samsung.com>
Mon, 17 Sep 2012 04:23:54 +0000 (13:23 +0900)
committerChungwoo Park <cww.park@samsung.com>
Mon, 21 May 2018 08:08:57 +0000 (17:08 +0900)
This patch adds PM_QOS_BUS_THROUGHPUT class.

Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Conflicts:

kernel/power/qos.c

Change-Id: Ie0dadfe362e9cb05978cb25f153a082e279027d9
Signed-off-by: Sungjinn Chung <sungjinn.chung@samsung.com>
include/linux/pm_qos.h
kernel/power/qos.c

index 19fc8521b23af640f5d589433f74cfe313b95eee..dfef3afeec33152975a91786f5c92b24c5253dde 100644 (file)
@@ -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
index 3a805d6c98f89da55a9795ffdcd264a77bc1289a..ea5617f83657bcb9e180d636a497458328b4fe8a 100644 (file)
@@ -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,
 };