]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm/a6xx: Fix HLSQ register dumping
authorRob Clark <robin.clark@oss.qualcomm.com>
Wed, 25 Mar 2026 18:40:42 +0000 (11:40 -0700)
committerRob Clark <robin.clark@oss.qualcomm.com>
Tue, 31 Mar 2026 20:47:28 +0000 (13:47 -0700)
Fix the bitfield offset of HLSQ_READ_SEL state-type bitfield.  Otherwise
we are always reading TP state when we wanted SP or HLSQ state.

Reported-by: Connor Abbott <cwabbott0@gmail.com>
Suggested-by: Connor Abbott <cwabbott0@gmail.com>
Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/714236/
Message-ID: <20260325184043.1259312-1-robin.clark@oss.qualcomm.com>

drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c

index d2d6b2fd3cba303959bd037b60796341315079a1..f7598d0c397588ed9a0b5581ca9dd93bb099aabf 100644 (file)
@@ -1013,7 +1013,7 @@ static void a6xx_get_crashdumper_hlsq_registers(struct msm_gpu *gpu,
        u64 out = dumper->iova + A6XX_CD_DATA_OFFSET;
        int i, regcount = 0;
 
-       in += CRASHDUMP_WRITE(in, REG_A6XX_HLSQ_DBG_READ_SEL, regs->val1);
+       in += CRASHDUMP_WRITE(in, REG_A6XX_HLSQ_DBG_READ_SEL, (regs->val1 & 0xff) << 8);
 
        for (i = 0; i < regs->count; i += 2) {
                u32 count = RANGE(regs->registers, i);