From: Alex Deucher Date: Thu, 18 Jul 2024 14:21:45 +0000 (-0400) Subject: drm/amdgpu/gfx11: per queue reset only on bare metal X-Git-Tag: v6.12-rc1~126^2~6^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01163079e136e6d6ce4474b964b8a7ec954cac81;p=thirdparty%2Fkernel%2Flinux.git drm/amdgpu/gfx11: per queue reset only on bare metal It's not supported under SR-IOV at the moment. Acked-by: Vitaly Prosyak Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c index fd0d51e93dd42..5ef4ff90ed86a 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c @@ -6549,6 +6549,9 @@ static int gfx_v11_0_reset_kgq(struct amdgpu_ring *ring, unsigned int vmid) struct amdgpu_device *adev = ring->adev; int r; + if (amdgpu_sriov_vf(adev)) + return -EINVAL; + r = amdgpu_mes_reset_legacy_queue(ring->adev, ring, vmid, false); if (r) return r; @@ -6584,6 +6587,9 @@ static int gfx_v11_0_reset_kcq(struct amdgpu_ring *ring, unsigned int vmid) struct amdgpu_device *adev = ring->adev; int i, r = 0; + if (amdgpu_sriov_vf(adev)) + return -EINVAL; + gfx_v11_0_set_safe_mode(adev, 0); mutex_lock(&adev->srbm_mutex); soc21_grbm_select(adev, ring->me, ring->pipe, ring->queue, 0);