• Tomasz Nowicki's avatar
    PCI: Add MCFG quirks for Cavium ThunderX pass1.x host controller · 648d93fc
    Tomasz Nowicki authored
    ThunderX pass1.x requires to emulate the EA headers for on-chip devices
    hence it has to use custom pci_thunder_ecam_ops for accessing PCI config
    space (pci-thunder-ecam.c). Add new entries to MCFG quirk array where it
    can be applied while probing ACPI based PCI host controller.
    
    ThunderX pass1.x is using the same way for accessing off-chip devices
    (so-called PEM) as silicon pass-2.x so we need to add PEM quirk entries
    too.
    
    Quirk is considered for ThunderX silicon pass1.x only which is identified
    via MCFG revision 2.
    
    ThunderX pass 1.x requires the following accessors:
    
      NUMA node 0 PCI segments  0- 3: pci_thunder_ecam_ops (MCFG quirk)
      NUMA node 0 PCI segments  4- 9: thunder_pem_ecam_ops (MCFG quirk)
      NUMA node 1 PCI segments 10-13: pci_thunder_ecam_ops (MCFG quirk)
      NUMA node 1 PCI segments 14-19: thunder_pem_ecam_ops (MCFG quirk)
    
    [bhelgaas: change Makefile/ifdefs so quirk doesn't depend on
    CONFIG_PCI_HOST_THUNDER_ECAM]
    Signed-off-by: default avatarTomasz Nowicki <tn@semihalf.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    648d93fc
pci_mcfg.c 7.53 KB