FILE
xe_lrc_types.h
File preview with syntax highlighting.
linux-6.19.14/drivers/gpu/drm/xe/xe_lrc_types.h
1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright © 2022 Intel Corporation 4 */ 5 6#ifndef _XE_LRC_TYPES_H_ 7#define _XE_LRC_TYPES_H_ 8 9#include <linux/kref.h> 10 11#include "xe_hw_fence_types.h" 12 13struct xe_bo; 14 15/** 16 * struct xe_lrc - Logical ring context (LRC) and submission ring object 17 */ 18struct xe_lrc { 19 /** 20 * @bo: buffer object (memory) for logical ring context, per process HW 21 * status page, and submission ring. 22 */ 23 struct xe_bo *bo; 24 25 /** @size: size of the lrc and optional indirect ring state */ 26 u32 size; 27 28 /** @gt: gt which this LRC belongs to */ 29 struct xe_gt *gt; 30 31 /** @flags: LRC flags */ 32#define XE_LRC_FLAG_INDIRECT_CTX 0x1 33#define XE_LRC_FLAG_INDIRECT_RING_STATE 0x2 34 u32 flags; 35 36 /** @refcount: ref count of this lrc */ 37 struct kref refcount; 38 39 /** @ring: submission ring state */ 40 struct { 41 /** @ring.size: size of submission ring */ 42 u32 size; 43 /** @ring.tail: tail of submission ring */ 44 u32 tail; 45 /** @ring.old_tail: shadow of tail */ 46 u32 old_tail; 47 } ring; 48 49 /** @desc: LRC descriptor */ 50 u64 desc; 51 52 /** @fence_ctx: context for hw fence */ 53 struct xe_hw_fence_ctx fence_ctx; 54 55 /** @ctx_timestamp: readout value of CTX_TIMESTAMP on last update */ 56 u64 ctx_timestamp; 57}; 58 59struct xe_lrc_snapshot; 60 61#endif
~/
Read-only file preview.