linux/drivers/gpu
Lijo Lazar 4a1db2a301 drm/amdgpu: Fix map/unmap queue logic
[ Upstream commit fa31798582 ]

In current logic, it calls ring_alloc followed by a ring_test. ring_test
in turn will call another ring_alloc. This is illegal usage as a
ring_alloc is expected to be closed properly with a ring_commit. Change
to commit the map/unmap queue packet first followed by a ring_test. Add a
comment about the usage of ring_test.

Also, reorder the current pre-condition checks of job hang or kiq ring
scheduler not ready. Without them being met, it is not useful to attempt
ring or memory allocations.

Fixes tag refers to the original patch which introduced this issue which
then got carried over into newer code.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Le Ma <le.ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Fixes: 6c10b5cc4e ("drm/amdgpu: Remove duplicate code in gfx_v8_0.c")
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-05 14:01:56 +01:00
..
drm drm/amdgpu: Fix map/unmap queue logic 2024-12-05 14:01:56 +01:00
host1x gpu: host1x: Set up device DMA parameters 2024-10-15 18:46:25 +02:00
ipu-v3 Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
trace gpu/trace: add a gpu total memory usage tracepoint 2020-03-03 17:52:41 -05:00
vga drm: Do delayed switcheroo in drm_lastclose() 2024-08-13 16:21:07 +02:00
Makefile gpu: host1x: Add context bus 2022-06-01 11:50:42 +02:00