diff options
author | 2022-10-26 11:48:50 +0800 | |
---|---|---|
committer | 2022-11-04 16:05:53 -0400 | |
commit | ec4927d463cbf385be212af1ade9f5a6f1474d4f (patch) | |
tree | a16a3bedc6d928786264faf2d1ecdbc940681766 /drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | |
parent | drm/amd/amdgpu: temporary workaround to skip ras error for gc_v11_0_3 (diff) | |
download | linux-ec4927d463cbf385be212af1ade9f5a6f1474d4f.tar.gz linux-ec4927d463cbf385be212af1ade9f5a6f1474d4f.tar.bz2 linux-ec4927d463cbf385be212af1ade9f5a6f1474d4f.zip |
drm/amdgpu: fix for suspend/resume sequence under sriov
- clear kiq ring after suspend/resume under sriov to aviod kiq ring
test failure
- update irq after resume to fix kiq interrput loss
Signed-off-by: Victor Zhao <Victor.Zhao@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index ab30c18decfb..676832da75eb 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -3581,6 +3581,8 @@ static int gfx_v9_0_kiq_init_queue(struct amdgpu_ring *ring) memset((void *)mqd, 0, sizeof(struct v9_mqd_allocation)); ((struct v9_mqd_allocation *)mqd)->dynamic_cu_mask = 0xFFFFFFFF; ((struct v9_mqd_allocation *)mqd)->dynamic_rb_mask = 0xFFFFFFFF; + if (amdgpu_sriov_vf(adev) && adev->in_suspend) + amdgpu_ring_clear_ring(ring); mutex_lock(&adev->srbm_mutex); soc15_grbm_select(adev, ring->me, ring->pipe, ring->queue, 0); gfx_v9_0_mqd_init(ring); |