• Pierre Moreau's avatar
    drm/nouveau/pci: Handle 5-bit and 8-bit tag field · 5d5b43f5
    Pierre Moreau authored
    If the hardware supports extended tag field (8-bit ones), then enable it.
    
    This is usually done by the VBIOS, but not on some MBPs (see fdo#86537).
    
    In case extended tag field is not supported, 5-bit tag field is used which
    limits the possible number of requests to 32. Apparently bits 7:0 of
    0x08841c stores some number of outstanding requests, so cap it to 32 if
    extended tag is unsupported.
    
    Fixes: fdo#86537
    
    v2: Restrict changes to chipsets >= 0x84
    v3:
      * Add nvkm_pci_mask to pci.h
      * Mask bit 8 before setting it
    v4:
      * Rename `add` argument of nvkm_pci_mask to `value`
      * Move code from nvkm_pci_init to g84_pci_init and remove PCIe and chipset
        checks
    v5:
      * Rebase code on latest PCI structure
      * Restore PCIe check
      * Fix namings in nvkm_pci_mask
      * Rephrase part of the commit message
    Signed-off-by: default avatarPierre Moreau <pierre.morrow@free.fr>
    Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
    5d5b43f5
pci.h 1.06 KB