diff options
author | Christian König <christian.koenig@amd.com> | 2018-09-17 10:13:49 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-01-14 15:04:47 -0500 |
commit | 8bb9eb480d032418bd08d0a6a39e4eaa1dec2fb8 (patch) | |
tree | 0b83e974d2b75e4d0fc1aaa6fb3e28eb838f22ab /drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | |
parent | 73c97fa4421fa0465a0b25a0ccf62af32e4bd01e (diff) |
drm/amdgpu: add IH ring to ih_get_wptr/ih_set_rptr v2
Let's start to support multiple rings.
v2: decode IV is needed as well
Signed-off-by: Christian König <christian.koenig@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/amdgpu_ih.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c index 8af67f649660..fb8dd6179926 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | |||
@@ -137,7 +137,7 @@ int amdgpu_ih_process(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih, | |||
137 | if (!ih->enabled || adev->shutdown) | 137 | if (!ih->enabled || adev->shutdown) |
138 | return IRQ_NONE; | 138 | return IRQ_NONE; |
139 | 139 | ||
140 | wptr = amdgpu_ih_get_wptr(adev); | 140 | wptr = amdgpu_ih_get_wptr(adev, ih); |
141 | 141 | ||
142 | restart_ih: | 142 | restart_ih: |
143 | /* is somebody else already processing irqs? */ | 143 | /* is somebody else already processing irqs? */ |
@@ -154,11 +154,11 @@ restart_ih: | |||
154 | ih->rptr &= ih->ptr_mask; | 154 | ih->rptr &= ih->ptr_mask; |
155 | } | 155 | } |
156 | 156 | ||
157 | amdgpu_ih_set_rptr(adev); | 157 | amdgpu_ih_set_rptr(adev, ih); |
158 | atomic_set(&ih->lock, 0); | 158 | atomic_set(&ih->lock, 0); |
159 | 159 | ||
160 | /* make sure wptr hasn't changed while processing */ | 160 | /* make sure wptr hasn't changed while processing */ |
161 | wptr = amdgpu_ih_get_wptr(adev); | 161 | wptr = amdgpu_ih_get_wptr(adev, ih); |
162 | if (wptr != ih->rptr) | 162 | if (wptr != ih->rptr) |
163 | goto restart_ih; | 163 | goto restart_ih; |
164 | 164 | ||