drm/msm/gpu: Respect PM QoS constraints
authorRob Clark <robdclark@chromium.org>
Sat, 20 Nov 2021 20:01:03 +0000 (12:01 -0800)
committerRob Clark <robdclark@chromium.org>
Sun, 28 Nov 2021 18:01:40 +0000 (10:01 -0800)
commit7c0ffcd40b161f56a7cea585297d64aeaf4d44a9
treec94839b5f4d1aed05bbf39f6363b0cbaac30003b
parent2a1ac5ba9080d4e86e597fb287f6992a9511b90c
drm/msm/gpu: Respect PM QoS constraints

Re-work the boost and idle clamping to use PM QoS requests instead, so
they get aggreggated with other requests (such as cooling device).

This does have the minor side-effect that devfreq sysfs min_freq/
max_freq files now reflect the boost and idle clamping, as they show
(despite what they are documented to show) the aggregated min/max freq.
Fixing that in devfreq does not look straightforward after considering
that OPPs can be dynamically added/removed.  However writes to the
sysfs files still behave as expected.

v2: Use 64b math to avoid potential 32b overflow

Signed-off-by: Rob Clark <robdclark@chromium.org>
Link: https://lore.kernel.org/r/20211120200103.1051459-3-robdclark@gmail.com
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/msm_gpu.h
drivers/gpu/drm/msm/msm_gpu_devfreq.c