xref: /linux/drivers/gpu/drm/xe/xe_bb.h (revision 9e952635)
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