1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright �� 2022 Intel Corporation 4 */ 5 6#ifndef _XE_PREEMPT_FENCE_TYPES_H_ 7#define _XE_PREEMPT_FENCE_TYPES_H_ 8 9#include <linux/dma-fence.h> 10#include <linux/workqueue.h> 11 12struct xe_exec_queue; 13 14/** 15 * struct xe_preempt_fence - XE preempt fence 16 * 17 * hardware and triggers a callback once the xe_engine is complete. 18 */ 19struct xe_preempt_fence { 20 /** @base: dma fence base */ 21 struct dma_fence base; 22 /** @link: link into list of pending preempt fences */ 23 struct list_head link; 24 /** @q: exec queue for this preempt fence */ 25 struct xe_exec_queue *q; 26 /** @preempt_work: work struct which issues preemption */ 27 struct work_struct preempt_work; 28 /** @error: preempt fence is in error state */ 29 int error; 30}; 31 32#endif 33