root/drivers/gpu/drm/xe/xe_ring_ops_types.h
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2022 Intel Corporation
 */

#ifndef _XE_RING_OPS_TYPES_H_
#define _XE_RING_OPS_TYPES_H_

#include <linux/types.h>

struct xe_gt;
struct xe_sched_job;

#define MAX_JOB_SIZE_DW 74
#define MAX_JOB_SIZE_BYTES (MAX_JOB_SIZE_DW * 4)

/**
 * struct xe_ring_ops - Ring operations
 */
struct xe_ring_ops {
        /** @emit_job: Write job to ring */
        void (*emit_job)(struct xe_sched_job *job);

        /** @emit_aux_table_inv: Emit aux table invalidation to the ring */
        u32 *(*emit_aux_table_inv)(struct xe_gt *gt, u32 *cmd);
};

#endif