xe_sched_job
struct xe_sched_job *job;
struct xe_sched_job *job = xe_bb_create_migration_job(m->q, bb,
struct xe_sched_job *xe_bb_create_migration_job(struct xe_exec_queue *q,
struct xe_sched_job *xe_bb_create_job(struct xe_exec_queue *q,
static struct xe_sched_job *
struct xe_sched_job;
struct xe_sched_job *xe_bb_create_job(struct xe_exec_queue *q,
struct xe_sched_job *xe_bb_create_migration_job(struct xe_exec_queue *q,
struct xe_sched_job *job)
void xe_devcoredump(struct xe_exec_queue *q, struct xe_sched_job *job, const char *fmt, ...)
struct xe_sched_job;
void xe_devcoredump(struct xe_exec_queue *q, struct xe_sched_job *job, const char *fmt, ...);
struct xe_sched_job *job,
struct xe_sched_job *job;
struct xe_sched_job *job = to_xe_sched_job(drm_job);
struct xe_sched_job *job = to_xe_sched_job(drm_job);
xe_sched_invalidate_job(struct xe_sched_job *job, int threshold)
struct xe_sched_job *xe_sched_first_pending_job(struct xe_gpu_scheduler *sched)
struct xe_sched_job *job;
struct xe_sched_job *job;
struct xe_sched_job *job;
static void submit_exec_queue(struct xe_exec_queue *q, struct xe_sched_job *job)
struct xe_sched_job *job = to_xe_sched_job(drm_job);
struct xe_sched_job *job = to_xe_sched_job(drm_job);
static bool check_timeout(struct xe_exec_queue *q, struct xe_sched_job *job)
struct xe_sched_job *job = to_xe_sched_job(drm_job);
struct xe_sched_job *job = xe_sched_first_pending_job(sched);
struct xe_sched_job *job;
struct xe_sched_job *job = xe_sched_first_pending_job(sched);
struct xe_sched_job *job = NULL;
struct xe_sched_job *job;
struct xe_sched_job *job;
struct xe_sched_job *job;
struct xe_sched_job *job;
struct xe_sched_job *job;
struct xe_sched_job *job;
struct xe_sched_job *job;
static int job_test_add_deps(struct xe_sched_job *job,
static int vma_add_deps(struct xe_vma *vma, struct xe_sched_job *job)
struct xe_sched_job *job)
static int xe_pt_vm_dependencies(struct xe_sched_job *job,
struct xe_sched_job *job;
struct xe_sched_job *job;
static int emit_render_cache_flush(struct xe_sched_job *job, u32 *dw, int i)
static u32 get_ppgtt_flag(struct xe_sched_job *job)
static void __emit_job_gen12_simple(struct xe_sched_job *job, struct xe_lrc *lrc,
static void __emit_job_gen12_video(struct xe_sched_job *job, struct xe_lrc *lrc,
static void __emit_job_gen12_render_compute(struct xe_sched_job *job,
static void emit_migration_job_gen12(struct xe_sched_job *job,
static void emit_job_gen12_gsc(struct xe_sched_job *job)
static void emit_job_gen12_copy(struct xe_sched_job *job)
static void emit_job_gen12_video(struct xe_sched_job *job)
static void emit_job_gen12_render_compute(struct xe_sched_job *job)
void (*emit_job)(struct xe_sched_job *job);
struct xe_sched_job;
struct xe_sched_job *job;
struct xe_sched_job *job =
container_of(ref, struct xe_sched_job, refcount);
void xe_sched_job_set_error(struct xe_sched_job *job, int error)
bool xe_sched_job_started(struct xe_sched_job *job)
bool xe_sched_job_completed(struct xe_sched_job *job)
void xe_sched_job_arm(struct xe_sched_job *job)
void xe_sched_job_push(struct xe_sched_job *job)
void xe_sched_job_init_user_fence(struct xe_sched_job *job,
sizeof(struct xe_sched_job) +
xe_sched_job_snapshot_capture(struct xe_sched_job *job)
int xe_sched_job_add_deps(struct xe_sched_job *job, struct dma_resv *resv,
sizeof(struct xe_sched_job) +
static struct xe_sched_job *job_alloc(bool parallel)
static void job_free(struct xe_sched_job *job)
static struct xe_device *job_to_xe(struct xe_sched_job *job)
static void xe_sched_job_free_fences(struct xe_sched_job *job)
struct xe_sched_job *xe_sched_job_create(struct xe_exec_queue *q,
struct xe_sched_job *xe_sched_job_create(struct xe_exec_queue *q,
static inline struct xe_sched_job *xe_sched_job_get(struct xe_sched_job *job)
static inline void xe_sched_job_put(struct xe_sched_job *job)
void xe_sched_job_set_error(struct xe_sched_job *job, int error);
static inline bool xe_sched_job_is_error(struct xe_sched_job *job)
bool xe_sched_job_started(struct xe_sched_job *job);
bool xe_sched_job_completed(struct xe_sched_job *job);
void xe_sched_job_arm(struct xe_sched_job *job);
void xe_sched_job_push(struct xe_sched_job *job);
void xe_sched_job_init_user_fence(struct xe_sched_job *job,
static inline struct xe_sched_job *
return container_of(drm, struct xe_sched_job, drm);
static inline u32 xe_sched_job_seqno(struct xe_sched_job *job)
static inline u32 xe_sched_job_lrc_seqno(struct xe_sched_job *job)
xe_sched_job_add_migrate_flush(struct xe_sched_job *job, u32 flags)
struct xe_sched_job_snapshot *xe_sched_job_snapshot_capture(struct xe_sched_job *job);
int xe_sched_job_add_deps(struct xe_sched_job *job, struct dma_resv *resv,
int xe_sync_entry_add_deps(struct xe_sync_entry *sync, struct xe_sched_job *job)
struct xe_sched_job;
struct xe_sched_job *job);
DECLARE_EVENT_CLASS(xe_sched_job,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_create,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_exec,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_run,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_free,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_timedout,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_set_error,
TP_PROTO(struct xe_sched_job *job),
DEFINE_EVENT(xe_sched_job, xe_sched_job_ban,
TP_PROTO(struct xe_sched_job *job),