]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
accel/ivpu: Fix wrong register read in LNL failure diagnostics
authorKarol Wachowski <karol.wachowski@linux.intel.com>
Fri, 10 Jul 2026 10:13:31 +0000 (12:13 +0200)
committerKarol Wachowski <karol.wachowski@linux.intel.com>
Mon, 13 Jul 2026 08:29:08 +0000 (10:29 +0200)
diagnose_failure_lnl() read VPU_HW_BTRS_MTL_INTERRUPT_STAT instead of
VPU_HW_BTRS_LNL_INTERRUPT_STAT, which on LNL and newer parts is a
different register with a different bit layout, so failure diagnostics
decoded the wrong register and reported a bogus error cause.
Read the LNL interrupt status register instead.

Fixes: 8a27ad81f7d3 ("accel/ivpu: Split IP and buttress code")
Reviewed-by: Andrzej Kacprowski <andrzej.kacprowski@linux.intel.com>
Signed-off-by: Karol Wachowski <karol.wachowski@linux.intel.com>
Link: https://patch.msgid.link/20260710101331.1899505-1-karol.wachowski@linux.intel.com
drivers/accel/ivpu/ivpu_hw_btrs.c

index dac935164e11b00c28c920c862e31108e1f9fa7c..a17c829adb89a6732bda34352f4aef0815879b44 100644 (file)
@@ -927,7 +927,7 @@ static void diagnose_failure_mtl(struct ivpu_device *vdev)
 
 static void diagnose_failure_lnl(struct ivpu_device *vdev)
 {
-       u32 reg = REGB_RD32(VPU_HW_BTRS_MTL_INTERRUPT_STAT) & BTRS_LNL_IRQ_MASK;
+       u32 reg = REGB_RD32(VPU_HW_BTRS_LNL_INTERRUPT_STAT) & BTRS_LNL_IRQ_MASK;
 
        if (REG_TEST_FLD(VPU_HW_BTRS_LNL_INTERRUPT_STAT, ATS_ERR, reg)) {
                ivpu_err(vdev, "ATS_ERR_LOG1 0x%08x ATS_ERR_LOG2 0x%08x\n",