• Matt Roper's avatar
    drm/i915: Try to detect sudden loss of MMIO access · 29b6f88d
    Matt Roper authored
    In rare circumstances bugs in PCI programming, broken BIOS, or failing
    hardware can cause the CPU to lose access to the MMIO BAR on dgfx
    platforms.  This is a pretty catastrophic failure since all register
    reads come back with values of 0xFFFFFFFF.  Let's check for this special
    case while doing our usual checks for unclaimed registers; the FPGA_DBG
    register we use for those checks on modern platforms has some unused
    bits that will always read back as 0 when things are behaving properly;
    we can use them as canaries to detect when MMIO itself has suddenly
    broken and try to print a more informative error message in the logs.
    
    v2: Let the detection function still return 'true' if we've lost our
        MMIO access.  We'll still get an extra false positive message about
        an unclaimed register access, but we'll still honor the 'mmio_debug'
        limit and not spam the log.  (Lucas)
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210212211925.3418280-2-matthew.d.roper@intel.comReviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
    29b6f88d
intel_uncore.c 65.6 KB