Tested on Navi 31 (gfx1100), 7.3.0-rc5 at 551c722f4080, with lockdep. Without this patch the first GRBM-banked access through amdgpu_regs2 produces the report quoted in the commit message: from the write branch when umr halts waves, and from the read branch for a single "umr -b x x x -r '*.gfx1100.regGRBM_STATUS'" on a fresh boot.
With this patch, and with the chain from reservation_ww_class_mutex through &amdgpu_notifier_lock_key down to &amdgpu_grbm_lock_key present in /proc/lockdep, none of the following produced a report, and debug_locks stayed 1: - the banked read of GRBM_STATUS* above; - "umr -O halt_waves -wa gfx_0.0.0" (banked SQ_CMD writes); - writing SCRATCH_REG0 and reading it back through amdgpu_regs2 with GRBM broadcast, and through amdgpu_regs with the bank bits in the offset; both reads returned the value written. The patch is against 551c722f4080 and also applies to amd-staging-drm-next and next-20260929.
