• Clemens Ladisch's avatar
    PCI quirk: RS780/RS880: work around missing MSI initialization · a5ee4eb7
    Clemens Ladisch authored
    AMD says in section 2.5.4 (GFX MSI Enable) of #43291 (AMD 780G Family
    Register Programming Requirements):
    
      The SBIOS must enable internal graphics MSI capability in GCCFG by
      setting the following: NBCFG.NB_CNTL.STRAP_MSI_ENABLE='1'
    
    Quite a few BIOS writers misinterpret this sentence and think that
    enabling MSI is an optional feature.  However, clearing that bit just
    prevents delivery of MSI messages but does not remove the MSI PCI
    capabilities registers, and so leaves these devices unusable for any
    driver that attempts to use MSI.
    
    Setting that bit is not possible after the BIOS has locked down the
    configuration registers, so we have to manually disable MSI for the
    affected devices.
    
    This fixes the codec communication errors in the HDA driver when
    accessing the HDMI audio device, and allows us to get rid of the
    overcautious quirk in radeon_irq_kms.c.
    Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
    Tested-by: default avatarAlex Deucher <alexdeucher@gamil.com>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    a5ee4eb7
radeon_irq_kms.c 4.58 KB