Lines Matching refs:fences
312 struct eb_fence *fences; member
2796 __free_fence_array(struct eb_fence *fences, unsigned int n) in __free_fence_array() argument
2799 drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2)); in __free_fence_array()
2800 dma_fence_put(fences[n].dma_fence); in __free_fence_array()
2801 dma_fence_chain_free(fences[n].chain_fence); in __free_fence_array()
2803 kvfree(fences); in __free_fence_array()
2835 f = krealloc(eb->fences, in add_timeline_fence_array()
2841 eb->fences = f; in add_timeline_fence_array()
2964 f = krealloc(eb->fences, in add_fence_array()
2970 eb->fences = f; in add_fence_array()
3014 static void put_fence_array(struct eb_fence *fences, int num_fences) in put_fence_array() argument
3016 if (fences) in put_fence_array()
3017 __free_fence_array(fences, num_fences); in put_fence_array()
3028 if (!eb->fences[n].dma_fence) in await_fence_array()
3031 err = i915_request_await_dma_fence(rq, eb->fences[n].dma_fence); in await_fence_array()
3048 syncobj = ptr_unpack_bits(eb->fences[n].syncobj, &flags, 2); in signal_fence_array()
3052 if (eb->fences[n].chain_fence) { in signal_fence_array()
3054 eb->fences[n].chain_fence, in signal_fence_array()
3056 eb->fences[n].value); in signal_fence_array()
3061 eb->fences[n].chain_fence = NULL; in signal_fence_array()
3209 struct dma_fence **fences; in eb_composite_fence_create() local
3214 fences = kmalloc_array(eb->num_batches, sizeof(*fences), GFP_KERNEL); in eb_composite_fence_create()
3215 if (!fences) in eb_composite_fence_create()
3219 fences[i] = &eb->requests[i]->fence; in eb_composite_fence_create()
3225 fences, in eb_composite_fence_create()
3230 kfree(fences); in eb_composite_fence_create()
3236 dma_fence_get(fences[i]); in eb_composite_fence_create()
3277 if (eb->fences) { in eb_fences_add()
3394 eb.fences = NULL; in i915_gem_do_execbuffer()
3505 if (eb.fences) in i915_gem_do_execbuffer()
3552 put_fence_array(eb.fences, eb.num_fences); in i915_gem_do_execbuffer()