]> git.baikalelectronics.ru Git - kernel.git/commit
PCI/ACPI: Add generic MCFG table handling
authorTomasz Nowicki <tn@semihalf.com>
Fri, 10 Jun 2016 19:55:13 +0000 (21:55 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 10 Jun 2016 23:27:59 +0000 (18:27 -0500)
commit557a62385acb2fa26205b5c2d3dfa8c15dae503f
treeeb8e54c07bbc7fecebcb7584ba01d9ebf27058cd
parent2c8b96fed6d1aa380d724f1e602f93d27fbd3752
PCI/ACPI: Add generic MCFG table handling

On ACPI systems that support memory-mapped config space access, i.e., ECAM,
the PCI Firmware Specification says the OS can learn where the ECAM space
is from either:

  - the static MCFG table (for non-hotpluggable bridges), or
  - the _CBA method (for hotpluggable bridges)

The current MCFG table handling code cannot be easily generalized owing to
x86-specific quirks, which makes it hard to reuse on other architectures.

Implement generic MCFG handling from scratch, including:

  - Simple MCFG table parsing (via pci_mmcfg_late_init() as in current x86)
  - MCFG region lookup for a (domain, bus_start, bus_end) tuple

[bhelgaas: changelog]
Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
Signed-off-by: Jayachandran C <jchandra@broadcom.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/acpi/Kconfig
drivers/acpi/Makefile
drivers/acpi/pci_mcfg.c [new file with mode: 0644]
include/linux/pci-acpi.h
include/linux/pci.h