[PATCH v2 2/3] drm/xe: Save the gt pointer in lrc and drop the tile

Matthew Brost matthew.brost at intel.com
Sat Apr 26 04:43:08 UTC 2025


On Fri, Apr 25, 2025 at 05:29:50PM -0700, Umesh Nerlige Ramappa wrote:
> Save the gt pointer in the lrc so that it can used for gt based helpers.
> 
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_lrc.c       | 4 ++--
>  drivers/gpu/drm/xe/xe_lrc_types.h | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
> index 855c8acaf3f1..089b195e2635 100644
> --- a/drivers/gpu/drm/xe/xe_lrc.c
> +++ b/drivers/gpu/drm/xe/xe_lrc.c
> @@ -867,7 +867,7 @@ static void *empty_lrc_data(struct xe_hw_engine *hwe)
>  
>  static void xe_lrc_set_ppgtt(struct xe_lrc *lrc, struct xe_vm *vm)
>  {
> -	u64 desc = xe_vm_pdp4_descriptor(vm, lrc->tile);
> +	u64 desc = xe_vm_pdp4_descriptor(vm, gt_to_tile(lrc->gt));
>  
>  	xe_lrc_write_ctx_reg(lrc, CTX_PDP0_UDW, upper_32_bits(desc));
>  	xe_lrc_write_ctx_reg(lrc, CTX_PDP0_LDW, lower_32_bits(desc));
> @@ -900,6 +900,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
>  	int err;
>  
>  	kref_init(&lrc->refcount);
> +	lrc->gt = gt;
>  	lrc->flags = 0;
>  	lrc_size = ring_size + xe_gt_lrc_size(gt, hwe->class);
>  	if (xe_gt_has_indirect_ring_state(gt))
> @@ -921,7 +922,6 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
>  		return PTR_ERR(lrc->bo);
>  
>  	lrc->size = lrc_size;
> -	lrc->tile = gt_to_tile(hwe->gt);
>  	lrc->ring.size = ring_size;
>  	lrc->ring.tail = 0;
>  	lrc->ctx_timestamp = 0;
> diff --git a/drivers/gpu/drm/xe/xe_lrc_types.h b/drivers/gpu/drm/xe/xe_lrc_types.h
> index 71ecb453f811..cd38586ae989 100644
> --- a/drivers/gpu/drm/xe/xe_lrc_types.h
> +++ b/drivers/gpu/drm/xe/xe_lrc_types.h
> @@ -25,8 +25,8 @@ struct xe_lrc {
>  	/** @size: size of lrc including any indirect ring state page */
>  	u32 size;
>  
> -	/** @tile: tile which this LRC belongs to */
> -	struct xe_tile *tile;
> +	/** @gt: gt which this LRC belongs to */
> +	struct xe_gt *gt;
>  
>  	/** @flags: LRC flags */
>  #define XE_LRC_FLAG_INDIRECT_RING_STATE		0x1
> -- 
> 2.43.0
> 


More information about the Intel-xe mailing list