summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorJesse Zhang <Jesse.Zhang@amd.com>2026-09-20 17:20:21 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-10-01 17:17:15 -0400
commit56b2b97e7893f495b2e2a91cd3e405b6358c61f0 (patch)
treeff50b1df608ff6123fab06f98bc55250811ffcbc /tools/perf/scripts/python
parent6b6c4fab8815bd1da5643c19278d364026b8665b (diff)
downloadlinux-next-56b2b97e7893f495b2e2a91cd3e405b6358c61f0.tar.gz
linux-next-56b2b97e7893f495b2e2a91cd3e405b6358c61f0.zip
drm/amdgpu: fix empty fence backup and replay intervals
amdgpu_ring_set_fence_errors_and_reemit() and amdgpu_ring_backup_unprocessed_commands() masked last_seq and sync_seq to fence-array indices before the loop, then walked a do/while until the two indices met. When hardware completed every command before the driver signalled the fences, last_seq == sync_seq, but the masked-index do/while could not tell that empty interval from a full table and walked the whole fence array, backing up and replaying already-completed commands. Read the raw sequence numbers, return early through amdgpu_fence_process() when they are equal, and mask only at the array index. Guard the force-completion against a NULL guilty_fence so a non-guilty backup does not dereference it. Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit 78fbe156637a11456fcd29615a56e098ec8a6990)
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions