]> git.baikalelectronics.ru Git - kernel.git/commit
drm/msm/adreno: fix updating ring fence
authorRob Clark <robdclark@chromium.org>
Thu, 13 Aug 2020 00:03:09 +0000 (17:03 -0700)
committerRob Clark <robdclark@chromium.org>
Mon, 17 Aug 2020 19:24:41 +0000 (12:24 -0700)
commitf5304eddb716b9c53bf03fcb2dd223ae23c8bd1c
treee1ee59cf7117352430ab3806b7a9a77beab75b9c
parent8f41cdd19913b702eef548a8978d61dd5dd91333
drm/msm/adreno: fix updating ring fence

We need to set it to the most recent completed fence, not the most
recent submitted.  Otherwise we have races where we think we can retire
submits that the GPU is not finished with, if the GPU doesn't manage to
overwrite the seqno before we look at it.

This can show up with hang recovery if one of the submits after the
crashing submit also hangs after it is replayed.

Fixes: 72cd3fbe69e1 ("drm/msm: Support multiple ringbuffers")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/adreno_gpu.c