1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2021 Intel Corporation 4 */ 5 6 #ifndef _XE_SYNC_H_ 7 #define _XE_SYNC_H_ 8 9 #include "xe_sync_types.h" 10 11 struct xe_device; 12 struct xe_file; 13 struct xe_sched_job; 14 15 #define SYNC_PARSE_FLAG_EXEC BIT(0) 16 #define SYNC_PARSE_FLAG_LR_MODE BIT(1) 17 18 int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef, 19 struct xe_sync_entry *sync, 20 struct drm_xe_sync __user *sync_user, 21 unsigned int flags); 22 int xe_sync_entry_wait(struct xe_sync_entry *sync); 23 int xe_sync_entry_add_deps(struct xe_sync_entry *sync, 24 struct xe_sched_job *job); 25 void xe_sync_entry_signal(struct xe_sync_entry *sync, 26 struct xe_sched_job *job, 27 struct dma_fence *fence); 28 void xe_sync_entry_cleanup(struct xe_sync_entry *sync); 29 30 #endif 31