This patch adds PM_QOS_FORCE_MAX type for pm_qos type.
If use PM_QOS_FORCE_MAX type for each pm_qos_constraints struct,
Will be updated qos unconditionally.
Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Sungjinn Chung <sungjinn.chung@samsung.com>
Conflicts:
include/linux/pm_qos.h
kernel/power/qos.c
Change-Id: I11a6812d3f67a4b03d561063243661f4302b35f3
PM_QOS_UNITIALIZED,
PM_QOS_MAX, /* return the largest value */
PM_QOS_MIN, /* return the smallest value */
- PM_QOS_SUM /* return the sum */
+ PM_QOS_SUM, /* return sum of values greater than zero */
+ PM_QOS_FORCE_MAX,
};
/*
return plist_first(&c->list)->prio;
case PM_QOS_MAX:
+ case PM_QOS_FORCE_MAX:
return plist_last(&c->list)->prio;
case PM_QOS_SUM:
spin_unlock_irqrestore(&pm_qos_lock, flags);
trace_pm_qos_update_target(action, prev_value, curr_value);
+
+ if (c->type == PM_QOS_FORCE_MAX) {
+ blocking_notifier_call_chain(c->notifiers,
+ (unsigned long)curr_value,
+ NULL);
+ return 1;
+ }
+
if (prev_value != curr_value) {
ret = 1;
if (c->notifiers)