blob: 24f20ed66fd1343ff98c737118675ae30ecd0d8f [file] [log] [blame]
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2022 Intel Corporation
*/
#ifndef _XE_LRC_TYPES_H_
#define _XE_LRC_TYPES_H_
#include "xe_hw_fence_types.h"
struct xe_bo;
/**
* struct xe_lrc - Logical ring context (LRC) and submission ring object
*/
struct xe_lrc {
/**
* @bo: buffer object (memory) for logical ring context, per process HW
* status page, and submission ring.
*/
struct xe_bo *bo;
/** @tile: tile which this LRC belongs to */
struct xe_tile *tile;
/** @flags: LRC flags */
u32 flags;
/** @ring: submission ring state */
struct {
/** @ring.size: size of submission ring */
u32 size;
/** @ring.tail: tail of submission ring */
u32 tail;
/** @ring.old_tail: shadow of tail */
u32 old_tail;
} ring;
/** @desc: LRC descriptor */
u64 desc;
/** @fence_ctx: context for hw fence */
struct xe_hw_fence_ctx fence_ctx;
};
#endif