drm/etnaviv: consider completed fence seqno in hang check
authorLucas Stach <l.stach@pengutronix.de>
Wed, 22 Dec 2021 00:17:28 +0000 (01:17 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Thu, 23 Dec 2021 19:21:33 +0000 (20:21 +0100)
commitcdd156955f946beaa5f3a00d8ccf90e5a197becc
tree638df9e2b7ba10dbae634dc4c29779631f469ba1
parent6dfa2fab8ddd46faa771a102672176bee7a065de
drm/etnaviv: consider completed fence seqno in hang check

Some GPU heavy test programs manage to trigger the hangcheck quite often.
If there are no other GPU users in the system and the test program
exhibits a very regular structure in the commandstreams that are being
submitted, we can end up with two distinct submits managing to trigger
the hangcheck with the FE in a very similar address range. This leads
the hangcheck to believe that the GPU is stuck, while in reality the GPU
is already busy working on a different job. To avoid those spurious
GPU resets, also remember and consider the last completed fence seqno
in the hang check.

Reported-by: Joerg Albert <joerg.albert@iav.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
drivers/gpu/drm/etnaviv/etnaviv_gpu.h
drivers/gpu/drm/etnaviv/etnaviv_sched.c