PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX
QOS requests for DEFAULT_VALUE are supposed to be ignored but this is not the case for FREQ_QOS_MAX. Adding one request for MAX_DEFAULT_VALUE and one for a real value will cause freq_qos_read_value to unexpectedly return MAX_DEFAULT_VALUE (-1). This happens because freq_qos max value is aggregated with PM_QOS_MIN but FREQ_QOS_MAX_DEFAULT_VALUE is (-1) so it's smaller than other values. Fix this by redefining FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX. Looking at current users for freq_qos it seems that none of them create requests for FREQ_QOS_MAX_DEFAULT_VALUE. Change-Id: I13dd09926290d2e7b1251270645b43549d81c11f Fixes:77751a466e
("PM: QoS: Introduce frequency QoS") Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reported-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Cc: 5.4+ <stable@vger.kernel.org> # 5.4+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Git-commit:c6a3aea935
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
This commit is contained in:

committed by
Shaleen Agrawal

parent
d1fe4aac61
commit
e936a40935
@@ -256,7 +256,7 @@ static inline s32 dev_pm_qos_raw_resume_latency(struct device *dev)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FREQ_QOS_MIN_DEFAULT_VALUE 0
|
#define FREQ_QOS_MIN_DEFAULT_VALUE 0
|
||||||
#define FREQ_QOS_MAX_DEFAULT_VALUE (-1)
|
#define FREQ_QOS_MAX_DEFAULT_VALUE S32_MAX
|
||||||
|
|
||||||
enum freq_qos_req_type {
|
enum freq_qos_req_type {
|
||||||
FREQ_QOS_MIN = 1,
|
FREQ_QOS_MIN = 1,
|
||||||
|
Reference in New Issue
Block a user