drm/xe/mert: Use local mert variable to simplify the code
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 9 Jan 2026 15:12:18 +0000 (16:12 +0100)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Mon, 12 Jan 2026 13:38:43 +0000 (14:38 +0100)
There is no need to always refer to MERT data using tile pointer.
Use of local mert pointer will simplify the code and make it look
like other existing MERT function.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
Link: https://patch.msgid.link/20260109151219.26206-5-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_mert.c

index 598b039..ad832e8 100644 (file)
@@ -52,6 +52,7 @@ int xe_mert_invalidate_lmtt(struct xe_device *xe)
 void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl)
 {
        struct xe_tile *tile = xe_device_get_root_tile(xe);
+       struct xe_mert *mert = &tile->mert;
        unsigned long flags;
        u32 reg_val;
        u8 err;
@@ -69,13 +70,13 @@ void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl)
        else if (err)
                drm_dbg(&xe->drm, "MERT catastrophic error: Unexpected fault (0x%x)\n", err);
 
-       spin_lock_irqsave(&tile->mert.lock, flags);
-       if (tile->mert.tlb_inv_triggered) {
+       spin_lock_irqsave(&mert->lock, flags);
+       if (mert->tlb_inv_triggered) {
                reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_INV_DESC_A);
                if (!(reg_val & MERT_TLB_INV_DESC_A_VALID)) {
-                       tile->mert.tlb_inv_triggered = false;
-                       complete_all(&tile->mert.tlb_inv_done);
+                       mert->tlb_inv_triggered = false;
+                       complete_all(&mert->tlb_inv_done);
                }
        }
-       spin_unlock_irqrestore(&tile->mert.lock, flags);
+       spin_unlock_irqrestore(&mert->lock, flags);
 }