1dd08ebf6SMatthew Brost /* SPDX-License-Identifier: MIT */ 2dd08ebf6SMatthew Brost /* 3dd08ebf6SMatthew Brost * Copyright © 2022 Intel Corporation 4dd08ebf6SMatthew Brost */ 5dd08ebf6SMatthew Brost 6dd08ebf6SMatthew Brost #ifndef _XE_BB_H_ 7dd08ebf6SMatthew Brost #define _XE_BB_H_ 8dd08ebf6SMatthew Brost 9dd08ebf6SMatthew Brost #include "xe_bb_types.h" 10dd08ebf6SMatthew Brost 11dd08ebf6SMatthew Brost struct dma_fence; 12dd08ebf6SMatthew Brost 13dd08ebf6SMatthew Brost struct xe_gt; 14*9b9529ceSFrancois Dugast struct xe_exec_queue; 15dd08ebf6SMatthew Brost struct xe_sched_job; 16dd08ebf6SMatthew Brost 17dd08ebf6SMatthew Brost struct xe_bb *xe_bb_new(struct xe_gt *gt, u32 size, bool usm); 18*9b9529ceSFrancois Dugast struct xe_sched_job *xe_bb_create_job(struct xe_exec_queue *q, 19dd08ebf6SMatthew Brost struct xe_bb *bb); 20*9b9529ceSFrancois Dugast struct xe_sched_job *xe_bb_create_migration_job(struct xe_exec_queue *q, 21dd08ebf6SMatthew Brost struct xe_bb *bb, u64 batch_ofs, 22dd08ebf6SMatthew Brost u32 second_idx); 23dd08ebf6SMatthew Brost void xe_bb_free(struct xe_bb *bb, struct dma_fence *fence); 24dd08ebf6SMatthew Brost 25dd08ebf6SMatthew Brost #endif 26