Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: validate userq hw unmap status for destroying userq

Before destroying the userq buffer object, it requires validating
the userq HW unmap status and ensuring the userq is unmapped from
hardware. If the user HW unmap failed, then it needs to reset the
queue for reusing.

Signed-off-by: Prike Liang <Prike.Liang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Prike Liang and committed by
Alex Deucher
8b38bf38 11aaec35

+5
+5
drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
··· 307 307 debugfs_remove_recursive(queue->debugfs_queue); 308 308 #endif 309 309 r = amdgpu_userq_unmap_helper(uq_mgr, queue); 310 + /*TODO: It requires a reset for userq hw unmap error*/ 311 + if (unlikely(r != AMDGPU_USERQ_STATE_UNMAPPED)) { 312 + drm_warn(adev_to_drm(uq_mgr->adev), "trying to destroy a HW mapping userq\n"); 313 + queue->state = AMDGPU_USERQ_STATE_HUNG; 314 + } 310 315 amdgpu_userq_cleanup(uq_mgr, queue, queue_id); 311 316 mutex_unlock(&uq_mgr->userq_mutex); 312 317