mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-15 22:41:38 +00:00
The current only submission in the driver that doesn't use a vm is the WA setup. We still pass a vm structure (the migration one), but we don't actually use it at submission time and we instead have an hack to use GGTT for this particular engine. Instead of special-casing the WA engine, we can skip providing a VM and use that as selector for whether to use GGTT or PPGTT. As part of this change, we can drop the special engine flag for the WA engine and switch the WA submission to use the standard job functions instead of dedicated ones. v2: rebased on s/engine/exec_queue Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Link: https://lore.kernel.org/r/20230822173334.1664332-4-daniele.ceraolospurio@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
26 lines
580 B
C
26 lines
580 B
C
/* 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_sched_job;
|
|
|
|
struct xe_bb *xe_bb_new(struct xe_gt *gt, u32 size, bool usm);
|
|
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
|