Lines Matching refs:fences
312 struct eb_fence *fences; member
2788 __free_fence_array(struct eb_fence *fences, unsigned int n) in __free_fence_array() argument
2791 drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2)); in __free_fence_array()
2792 dma_fence_put(fences[n].dma_fence); in __free_fence_array()
2793 dma_fence_chain_free(fences[n].chain_fence); in __free_fence_array()
2795 kvfree(fences); in __free_fence_array()
2827 f = krealloc(eb->fences, in add_timeline_fence_array()
2833 eb->fences = f; in add_timeline_fence_array()
2956 f = krealloc(eb->fences, in add_fence_array()
2962 eb->fences = f; in add_fence_array()
3006 static void put_fence_array(struct eb_fence *fences, int num_fences) in put_fence_array() argument
3008 if (fences) in put_fence_array()
3009 __free_fence_array(fences, num_fences); in put_fence_array()
3020 if (!eb->fences[n].dma_fence) in await_fence_array()
3023 err = i915_request_await_dma_fence(rq, eb->fences[n].dma_fence); in await_fence_array()
3040 syncobj = ptr_unpack_bits(eb->fences[n].syncobj, &flags, 2); in signal_fence_array()
3044 if (eb->fences[n].chain_fence) { in signal_fence_array()
3046 eb->fences[n].chain_fence, in signal_fence_array()
3048 eb->fences[n].value); in signal_fence_array()
3053 eb->fences[n].chain_fence = NULL; in signal_fence_array()
3201 struct dma_fence **fences; in eb_composite_fence_create() local
3206 fences = kmalloc_array(eb->num_batches, sizeof(*fences), GFP_KERNEL); in eb_composite_fence_create()
3207 if (!fences) in eb_composite_fence_create()
3211 fences[i] = &eb->requests[i]->fence; in eb_composite_fence_create()
3217 fences, in eb_composite_fence_create()
3222 kfree(fences); in eb_composite_fence_create()
3228 dma_fence_get(fences[i]); in eb_composite_fence_create()
3269 if (eb->fences) { in eb_fences_add()
3386 eb.fences = NULL; in i915_gem_do_execbuffer()
3497 if (eb.fences) in i915_gem_do_execbuffer()
3544 put_fence_array(eb.fences, eb.num_fences); in i915_gem_do_execbuffer()