• Lucas De Marchi's avatar
    drm/i915/uncore: Warn on previous unclaimed accesses · 4b276ed3
    Lucas De Marchi authored
    Since gen6 we use FPGA_DBG register to detect unclaimed MMIO registers.
    This register is in the display engine IP and can only ever detect
    unclaimed accesses to registers in this area. However sometimes there
    are reports of this triggering for registers in other areas, which
    should not be possible.
    
    Right now we always warn after the read/write of registers going through
    unclaimed_reg_debug(). However places using __raw_uncore_* may be
    triggering the unclaimed access and those being later accounted to a
    different register. Let's warn both before and after the read/write
    with a slightly different message, so it's clear if the register
    reported in the warning is actually the culprit.
    
    Commit dda96033 ("drm/i915: Just clear the mmiodebug before a
    register access") attempted to solve the same issue by removing the
    warning when if FPGA_DBG flags before the mmio read/write. However, it
    doesn't solve it completely as FPGA_DBG may remain set when reading
    registers outside display. So in the end the check after the mmio
    read/write triggers the warning pointing to the wrong register.
    Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220405001149.2675226-1-lucas.demarchi@intel.com
    4b276ed3
intel_uncore.c 76.9 KB