Rework hangcheck code to work well toghether with preemption.
Track the time a job has spent in a ring by storing timestamps of the
`CP_ALWAYS_ON_CONTEXT` register at the beginning of a job and when
switching rings as well as reading it back if the ring is currently
active.
Signed-off-by: Anna
In particular bring in `CP_ALWAYS_ON_CONTEXT`
Signed-off-by: Anna Maniscalco
---
drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/msm/registers/adreno/a6xx.xml
b/drivers/gpu/drm/msm/registers/adreno/a6xx.xml
index
Ever since we added support for preemption hangcheck has been somewhat
broken as it is not aware of multiple rings.
In some cases it might not recognize that one ring is stuck if the gpu
switches in and out of it.
Signed-off-by: Anna Maniscalco
---
Anna Maniscalco (2):
drm/msm/registers
On 9/17/25 5:23 PM, Akhil P Oommen wrote:
On 9/11/2025 10:31 PM, Anna Maniscalco wrote:
Rework hangcheck code to work well toghether with preemption.
Track the time a job has spent in a ring by storing timestamps of the
`CP_ALWAYS_ON_CONTEXT` register at the beginning of a job and when
On 10/10/25 9:09 PM, Alexey Minnekhanov wrote:
On 10.10.2025 17:39, Anna Maniscalco wrote:
Update last_fence in the vm-bind path instead of kernel managed path.
last_fence is used to wait for work to finish in vm_bind contexts but
not
used for kernel managed contexts.
This fixes a bug where