diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2024-07-18 10:22:00 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2024-09-02 11:41:22 -0400 |
commit | 1a1995b1dc948d471854360ec0fd3306f54dfbae (patch) | |
tree | 654584540baafd5a28010d435486374b11ebdec9 /drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | |
parent | 01163079e136e6d6ce4474b964b8a7ec954cac81 (diff) |
drm/amdgpu/gfx12: per queue reset only on bare metal
It's not supported under SR-IOV at the moment.
Acked-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c index 6e2883e2dbe5..5935cc55a098 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c @@ -5163,6 +5163,9 @@ static int gfx_v12_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) { dev_err(adev->dev, "reset via MES failed %d\n", r); @@ -5200,6 +5203,9 @@ static int gfx_v12_0_reset_kcq(struct amdgpu_ring *ring, unsigned int vmid) struct amdgpu_device *adev = ring->adev; int r, i; + if (amdgpu_sriov_vf(adev)) + return -EINVAL; + gfx_v12_0_set_safe_mode(adev, 0); mutex_lock(&adev->srbm_mutex); soc24_grbm_select(adev, ring->me, ring->pipe, ring->queue, 0); |