Lines Matching refs:ifence
1526 struct invalidation_fence *ifence =
1528 struct xe_device *xe = gt_to_xe(ifence->gt);
1530 trace_xe_gt_tlb_invalidation_fence_cb(xe, &ifence->base);
1531 if (!ifence->fence->error) {
1532 queue_work(system_wq, &ifence->work);
1534 ifence->base.base.error = ifence->fence->error;
1535 xe_gt_tlb_invalidation_fence_signal(&ifence->base);
1537 dma_fence_put(ifence->fence);
1542 struct invalidation_fence *ifence =
1544 struct xe_device *xe = gt_to_xe(ifence->gt);
1546 trace_xe_gt_tlb_invalidation_fence_work_func(xe, &ifence->base);
1547 xe_gt_tlb_invalidation_range(ifence->gt, &ifence->base, ifence->start,
1548 ifence->end, ifence->asid);
1552 struct invalidation_fence *ifence,
1558 trace_xe_gt_tlb_invalidation_fence_create(gt_to_xe(gt), &ifence->base);
1560 xe_gt_tlb_invalidation_fence_init(gt, &ifence->base, false);
1562 ifence->fence = fence;
1563 ifence->gt = gt;
1564 ifence->start = start;
1565 ifence->end = end;
1566 ifence->asid = asid;
1568 INIT_WORK(&ifence->work, invalidation_fence_work_func);
1569 ret = dma_fence_add_callback(fence, &ifence->cb, invalidation_fence_cb);
1571 dma_fence_put(ifence->fence); /* Usually dropped in CB */
1572 invalidation_fence_work_func(&ifence->work);
1574 dma_fence_put(&ifence->base.base); /* Caller ref */
1575 dma_fence_put(&ifence->base.base); /* Creation ref */
2411 struct invalidation_fence *ifence = NULL, *mfence = NULL;
2443 ifence = kzalloc(sizeof(*ifence), GFP_KERNEL);
2444 if (!ifence) {
2449 mfence = kzalloc(sizeof(*ifence), GFP_KERNEL);
2495 if (ifence) {
2498 invalidation_fence_init(tile->primary_gt, ifence, fence,
2505 fences[0] = &ifence->base.base;
2513 fence = &ifence->base.base;
2526 dma_resv_add_fence(xe_vm_resv(vm), &ifence->base.base,
2538 &ifence->base.base, &mfence->base.base);
2554 kfree(ifence);