Files
android_kernel_xiaomi_sm8450/drivers/gpu/drm/msm/adreno
Rob Clark 3edab64c3e drm/msm/a6xx: Clear shadow on suspend
[ Upstream commit e8b0b994c3a5881f0648d53f90435120089c56ad ]

Clear the shadow rptr on suspend.  Otherwise, when we resume, we can
have a stale value until CP_WHERE_AM_I executes.  If we suspend near
the ringbuffer wraparound point, this can lead to a chicken/egg
situation where we are waiting for ringbuffer space to write the
CP_WHERE_AM_I (or CP_INIT) packet, because we mistakenly believe that
the ringbuffer is full (due to stale rptr value in the shadow).

Fixes errors like:

  [drm:adreno_wait_ring [msm]] *ERROR* timeout waiting for space in ringbuffer 0

in the resume path.

Fixes: d3a569fccf ("drm/msm: a6xx: Use WHERE_AM_I for eligible targets")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:53:06 +01:00
..
2018-12-11 13:07:06 -05:00
2020-07-31 06:46:16 -07:00
2020-07-31 06:46:16 -07:00
2020-07-31 06:46:16 -07:00
2020-07-31 06:46:16 -07:00
2020-07-31 06:46:16 -07:00
2020-07-31 06:46:16 -07:00
2020-09-29 10:20:51 +10:00