]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe: Save the gt pointer in lrc and drop the tile
authorUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Fri, 9 May 2025 16:12:02 +0000 (09:12 -0700)
committerUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Mon, 12 May 2025 21:33:24 +0000 (14:33 -0700)
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@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20250509161159.2173069-7-umesh.nerlige.ramappa@intel.com
drivers/gpu/drm/xe/xe_lrc.c
drivers/gpu/drm/xe/xe_lrc_types.h

index 015b00a73c0b76ac0cb16238c78269a074a86285..9d9be93832074443512394b5d7e1f04bd6b09eb8 100644 (file)
@@ -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;
index 71ecb453f811a42a7347dfe6d08e92da0e4658a2..cd38586ae98932f3cc65f1f504ae1daa12b6b311 100644 (file)
@@ -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