diff options
author | Alessio Belle <alessio.belle@imgtec.com> | 2025-04-10 12:55:06 +0300 |
---|---|---|
committer | Matt Coster <matt.coster@imgtec.com> | 2025-04-15 14:21:50 +0300 |
commit | 96822d38ff574433e06a2ec0f88ebc50d44c8eaa (patch) | |
tree | 972125dec5f17c626dfb2877f444ed0977bc1ce7 /tools/perf/scripts/python/gecko.py | |
parent | bdced61365b4eca917b6df37d3d47c2f7d096d87 (diff) | |
download | linux-96822d38ff574433e06a2ec0f88ebc50d44c8eaa.tar.xz |
drm/imagination: Handle Rogue safety event IRQs
Extend interrupt handling logic to check for safety event IRQs, then clear
and handle them in the IRQ handler thread.
Safety events need to be checked and cleared with a different set of GPU
registers than those the IRQ handler has been using so far.
Only two safety events need to be handled on the host: FW fault (ECC error
correction or detection) and device watchdog timeout. Handling right now
simply consists of clearing any error and logging the event. If either of
these events results in an unrecoverable GPU or FW, the driver will
eventually attempt to recover from it e.g. via pvr_power_reset().
Note that Rogue GPUs may send interrupts to the host for all types of
safety events, not just the two above. For events not handled by the host,
clearing the associated interrupt is sufficient.
Signed-off-by: Alessio Belle <alessio.belle@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Link: https://lore.kernel.org/r/20250410-sets-bxs-4-64-patch-v1-v6-7-eda620c5865f@imgtec.com
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Diffstat (limited to 'tools/perf/scripts/python/gecko.py')
0 files changed, 0 insertions, 0 deletions