Skip to content

Commit e3f15cf

Browse files
committed
drm/amdgpu: clean up jpeg reset functions
Make them consistent and use the reset flags. Reviewed-by: Sathishkumar S <sathishkumar.sundararaju@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 290ccae commit e3f15cf

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@ static int jpeg_v2_0_sw_init(struct amdgpu_ip_block *ip_block)
118118
if (r)
119119
return r;
120120

121-
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
121+
if (!amdgpu_sriov_vf(adev))
122+
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
122123
r = amdgpu_jpeg_sysfs_reset_mask_init(adev);
123124

124125
return r;
@@ -770,6 +771,9 @@ static int jpeg_v2_0_ring_reset(struct amdgpu_ring *ring,
770771
{
771772
int r;
772773

774+
if (!(ring->adev->jpeg.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE))
775+
return -EOPNOTSUPP;
776+
773777
drm_sched_wqueue_stop(&ring->sched);
774778
r = jpeg_v2_0_stop(ring->adev);
775779
if (r)

drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ static int jpeg_v2_5_sw_init(struct amdgpu_ip_block *ip_block)
167167
if (r)
168168
return r;
169169

170-
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
170+
if (!amdgpu_sriov_vf(adev))
171+
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
171172
r = amdgpu_jpeg_sysfs_reset_mask_init(adev);
172173

173174
return r;
@@ -649,6 +650,9 @@ static int jpeg_v2_5_ring_reset(struct amdgpu_ring *ring,
649650
{
650651
int r;
651652

653+
if (!(ring->adev->jpeg.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE))
654+
return -EOPNOTSUPP;
655+
652656
drm_sched_wqueue_stop(&ring->sched);
653657
jpeg_v2_5_stop_inst(ring->adev, ring->me);
654658
jpeg_v2_5_start_inst(ring->adev, ring->me);

drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ static int jpeg_v3_0_sw_init(struct amdgpu_ip_block *ip_block)
132132
if (r)
133133
return r;
134134

135-
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
135+
if (!amdgpu_sriov_vf(adev))
136+
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
136137
r = amdgpu_jpeg_sysfs_reset_mask_init(adev);
137138

138139
return r;
@@ -561,6 +562,9 @@ static int jpeg_v3_0_ring_reset(struct amdgpu_ring *ring,
561562
{
562563
int r;
563564

565+
if (!(ring->adev->jpeg.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE))
566+
return -EOPNOTSUPP;
567+
564568
drm_sched_wqueue_stop(&ring->sched);
565569
r = jpeg_v3_0_stop(ring->adev);
566570
if (r)

drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ static int jpeg_v4_0_sw_init(struct amdgpu_ip_block *ip_block)
143143
if (r)
144144
return r;
145145

146-
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
146+
if (!amdgpu_sriov_vf(adev))
147+
adev->jpeg.supported_reset = AMDGPU_RESET_TYPE_PER_QUEUE;
147148
r = amdgpu_jpeg_sysfs_reset_mask_init(adev);
148149

149150
return r;
@@ -726,8 +727,8 @@ static int jpeg_v4_0_ring_reset(struct amdgpu_ring *ring,
726727
{
727728
int r;
728729

729-
if (amdgpu_sriov_vf(ring->adev))
730-
return -EINVAL;
730+
if (!(ring->adev->jpeg.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE))
731+
return -EOPNOTSUPP;
731732

732733
drm_sched_wqueue_stop(&ring->sched);
733734
r = jpeg_v4_0_stop(ring->adev);

0 commit comments

Comments
 (0)