diff options
author | YuBiao Wang <YuBiao.Wang@amd.com> | 2023-03-16 11:30:32 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-03-22 00:47:59 -0400 |
commit | f466b111a0c68dd3925deea37271f7aace2367d9 (patch) | |
tree | 0e3d7e91fb7e6e5c31c6086582fd9cb2fc1d0f87 /drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | |
parent | 3234fac0f97671d55c466e8093e3bdf781dae329 (diff) | |
download | linux-f466b111a0c68dd3925deea37271f7aace2367d9.tar.gz linux-f466b111a0c68dd3925deea37271f7aace2367d9.tar.bz2 linux-f466b111a0c68dd3925deea37271f7aace2367d9.zip |
drm/amdgpu: Force signal hw_fences that are embedded in non-sched jobs
[Why]
For engines not supporting soft reset, i.e. VCN, there will be a failed
ib test before mode 1 reset during asic reset. The fences in this case
are never signaled and next time when we try to free the sa_bo, kernel
will hang.
[How]
During pre_asic_reset, driver will clear job fences and afterwards the
fences' refcount will be reduced to 1. For drm_sched_jobs it will be
released in job_free_cb, and for non-sched jobs like ib_test, it's meant
to be released in sa_bo_free but only when the fences are signaled. So
we have to force signal the non_sched bad job's fence during
pre_asic_reset or the clear is not complete.
Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
Acked-by: Luben Tuikov <luben.tuikov@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c')
0 files changed, 0 insertions, 0 deletions