blob: 231870b24c2f2fe52e4f3dca48400ad33b21aecb [file] [edit]
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2022 Intel Corporation
*/
#ifndef _XE_BB_H_
#define _XE_BB_H_
#include "xe_bb_types.h"
struct dma_fence;
struct xe_gt;
struct xe_exec_queue;
struct xe_sa_manager;
struct xe_sched_job;
struct xe_bb *xe_bb_new(struct xe_gt *gt, u32 dwords, bool usm);
struct xe_bb *xe_bb_alloc(struct xe_gt *gt);
int xe_bb_init(struct xe_bb *bb, struct xe_sa_manager *bb_pool, u32 dwords);
struct xe_sched_job *xe_bb_create_job(struct xe_exec_queue *q,
struct xe_bb *bb);
struct xe_sched_job *xe_bb_create_migration_job(struct xe_exec_queue *q,
struct xe_bb *bb, u64 batch_ofs,
u32 second_idx);
void xe_bb_free(struct xe_bb *bb, struct dma_fence *fence);
#endif