On Tue, Dec 07, 2021 at 01:34:04PM +0100, Christian König wrote: > Makes the code a bit more simpler. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 23 +++-------------------- > 1 file changed, 3 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c > index be48487e2ca7..888d97143177 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c > @@ -107,36 +107,19 @@ static void amdgpu_pasid_free_cb(struct dma_fence *fence, > void amdgpu_pasid_free_delayed(struct dma_resv *resv, > u32 pasid) > { > - struct dma_fence *fence, **fences; > struct amdgpu_pasid_cb *cb; > - unsigned count; > + struct dma_fence *fence; > int r; > > - r = dma_resv_get_fences(resv, true, &count, &fences); > + r = dma_resv_get_singleton(resv, true, &fence); > if (r) > goto fallback; > > - if (count == 0) { > + if (!fence) { > amdgpu_pasid_free(pasid); > return; > } > > - if (count == 1) { > - fence = fences[0]; > - kfree(fences); > - } else { > - uint64_t context = dma_fence_context_alloc(1); > - struct dma_fence_array *array; > - > - array = dma_fence_array_create(count, fences, context, > - 1, false); > - if (!array) { > - kfree(fences); > - goto fallback; > - } > - fence = &array->base; > - } > - > cb = kmalloc(sizeof(*cb), GFP_KERNEL); > if (!cb) { > /* Last resort when we are OOM */ > -- > 2.25.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch