mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
System suspend uses pm_runtime_force_suspend(), which cheekily bypasses
the runpm reference counts. This doesn't actually work so well when the
GPU is active. So add a reasonable delay waiting for the GPU to become
idle.
Alternatively we could just return -EBUSY in this case, but that has the
disadvantage of causing system suspend to fail.
v2: s/ret/remaining [sboyd], and switch to using active_submits count
to ensure we aren't racing with submit cleanup (and devfreq idle
work getting scheduled, etc)
v3: fix inverted logic
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220108180913.814448-2-robdclark@gmail.com
Signed-off-by: Rob Clark <robdclark@chromium.org>
|
||
|---|---|---|
| .. | ||
| a2xx_gpu.c | ||
| a2xx_gpu.h | ||
| a2xx.xml.h | ||
| a3xx_gpu.c | ||
| a3xx_gpu.h | ||
| a3xx.xml.h | ||
| a4xx_gpu.c | ||
| a4xx_gpu.h | ||
| a4xx.xml.h | ||
| a5xx_debugfs.c | ||
| a5xx_gpu.c | ||
| a5xx_gpu.h | ||
| a5xx_power.c | ||
| a5xx_preempt.c | ||
| a5xx.xml.h | ||
| a6xx_gmu.c | ||
| a6xx_gmu.h | ||
| a6xx_gmu.xml.h | ||
| a6xx_gpu_state.c | ||
| a6xx_gpu_state.h | ||
| a6xx_gpu.c | ||
| a6xx_gpu.h | ||
| a6xx_hfi.c | ||
| a6xx_hfi.h | ||
| a6xx.xml.h | ||
| adreno_common.xml.h | ||
| adreno_device.c | ||
| adreno_gpu.c | ||
| adreno_gpu.h | ||
| adreno_pm4.xml.h | ||