2005-04-17 02:20:36 +04:00
|
|
|
#
|
|
|
|
# Makefile for the PCI bus specific drivers.
|
|
|
|
#
|
|
|
|
|
2012-04-03 05:31:53 +04:00
|
|
|
obj-y += access.o bus.o probe.o host-bridge.o remove.o pci.o \
|
2008-08-03 22:02:12 +04:00
|
|
|
pci-driver.o search.o pci-sysfs.o rom.o setup-res.o \
|
PCI: Add Virtual Channel to save/restore support
While we don't really have any infrastructure for making use of VC
support, the system BIOS can configure the topology to non-default
VC values prior to boot. This may be due to silicon bugs, desire to
reserve traffic classes, or perhaps just BIOS bugs. When we reset
devices, the VC configuration may return to default values, which can
be incompatible with devices upstream. For instance, Nvidia GRID
cards provide a PCIe switch and some number of GPUs, all supporting
VC. The power-on default for VC is to support TC0-7 across VC0,
however some platforms will only enable TC0/VC0 mapping across the
topology. When we do a secondary bus reset on the downstream switch
port, the GPU is reset to a TC0-7/VC0 mapping while the opposite end
of the link only enables TC0/VC0. If the GPU attempts to use TC1-7,
it fails.
This patch attempts to provide complete support for VC save/restore,
even beyond the minimally required use case above. This includes
save/restore and reload of the arbitration table, save/restore and
reload of the port arbitration tables, and re-enabling of the
channels for VC, VC9, and MFVC capabilities.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2013-12-18 03:43:51 +04:00
|
|
|
irq.o vpd.o setup-bus.o vc.o
|
2005-04-17 02:20:36 +04:00
|
|
|
obj-$(CONFIG_PROC_FS) += proc.o
|
2009-06-18 05:03:57 +04:00
|
|
|
obj-$(CONFIG_SYSFS) += slot.o
|
2005-04-17 02:20:36 +04:00
|
|
|
|
2010-01-03 00:57:24 +03:00
|
|
|
obj-$(CONFIG_PCI_QUIRKS) += quirks.o
|
2009-07-24 13:41:15 +04:00
|
|
|
|
2005-12-16 22:08:48 +03:00
|
|
|
# Build PCI Express stuff if needed
|
|
|
|
obj-$(CONFIG_PCIEPORTBUS) += pcie/
|
|
|
|
|
PCI hotplug: move IOAPIC support from acpiphp to ioapic driver
This patch moves PCI I/O APIC support from acpiphp to a separate driver.
Like pciehp and shpchp, acpiphp handles PCI hotplug, i.e., addition and
removal of PCI adapters. But in addition, acpiphp handles some ACPI
hotplug, such as the addition of new host bridges, and the I/O APIC
support was tangled up with that.
I don't think the I/O APIC support needs to be in acpiphp; PCI I/O APICs
usually appear as a function on a PCI host bridge, and we'll enumerate the
APIC before any of the devices behind the bridge that use it.
As far as I know, nobody actually uses I/O APIC hotplug. It depends on
acpi_register_ioapic(), which is only implemented for ia64, and I don't
think any vendors have supported I/O chassis hotplug yet.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
CC: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
CC: MUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-10-26 20:20:47 +03:00
|
|
|
obj-$(CONFIG_PCI_IOAPIC) += ioapic.o
|
|
|
|
|
2005-04-17 02:20:36 +04:00
|
|
|
# Build the PCI Hotplug drivers if we were asked to
|
|
|
|
obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
|
2008-02-03 00:32:23 +03:00
|
|
|
ifdef CONFIG_HOTPLUG_PCI
|
|
|
|
obj-y += hotplug-pci.o
|
|
|
|
endif
|
2005-04-17 02:20:36 +04:00
|
|
|
|
2006-10-04 13:17:00 +04:00
|
|
|
# Build the PCI MSI interrupt support
|
|
|
|
obj-$(CONFIG_PCI_MSI) += msi.o
|
|
|
|
|
2006-10-04 13:17:01 +04:00
|
|
|
# Build the Hypertransport interrupt support
|
|
|
|
obj-$(CONFIG_HT_IRQ) += htirq.o
|
|
|
|
|
2011-09-27 17:57:13 +04:00
|
|
|
obj-$(CONFIG_PCI_ATS) += ats.o
|
2009-03-20 06:25:11 +03:00
|
|
|
obj-$(CONFIG_PCI_IOV) += iov.o
|
|
|
|
|
2005-04-17 02:20:36 +04:00
|
|
|
#
|
|
|
|
# Some architectures use the generic PCI setup functions
|
|
|
|
#
|
2005-06-21 01:29:25 +04:00
|
|
|
obj-$(CONFIG_X86) += setup-bus.o
|
2005-04-17 02:20:36 +04:00
|
|
|
obj-$(CONFIG_ALPHA) += setup-bus.o setup-irq.o
|
|
|
|
obj-$(CONFIG_ARM) += setup-bus.o setup-irq.o
|
2011-01-15 13:25:14 +03:00
|
|
|
obj-$(CONFIG_UNICORE32) += setup-bus.o setup-irq.o
|
2005-04-17 02:20:36 +04:00
|
|
|
obj-$(CONFIG_PARISC) += setup-bus.o
|
|
|
|
obj-$(CONFIG_SUPERH) += setup-bus.o setup-irq.o
|
2008-01-24 08:47:39 +03:00
|
|
|
obj-$(CONFIG_PPC) += setup-bus.o
|
2012-04-19 01:17:19 +04:00
|
|
|
obj-$(CONFIG_FRV) += setup-bus.o
|
2005-04-17 02:20:36 +04:00
|
|
|
obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
|
|
|
|
obj-$(CONFIG_X86_VISWS) += setup-irq.o
|
2008-02-08 15:19:31 +03:00
|
|
|
obj-$(CONFIG_MN10300) += setup-bus.o
|
2010-01-18 17:27:10 +03:00
|
|
|
obj-$(CONFIG_MICROBLAZE) += setup-bus.o
|
2010-11-02 19:05:10 +03:00
|
|
|
obj-$(CONFIG_TILE) += setup-bus.o setup-irq.o
|
2011-05-24 01:04:47 +04:00
|
|
|
obj-$(CONFIG_SPARC_LEON) += setup-bus.o setup-irq.o
|
2012-07-13 07:49:41 +04:00
|
|
|
obj-$(CONFIG_M68K) += setup-bus.o setup-irq.o
|
2006-04-11 06:17:48 +04:00
|
|
|
|
2005-04-17 02:20:36 +04:00
|
|
|
#
|
|
|
|
# ACPI Related PCI FW Functions
|
2011-03-02 20:04:17 +03:00
|
|
|
# ACPI _DSM provided firmware instance and string name
|
2005-04-17 02:20:36 +04:00
|
|
|
#
|
2011-03-29 20:45:57 +04:00
|
|
|
obj-$(CONFIG_ACPI) += pci-acpi.o
|
2005-04-17 02:20:36 +04:00
|
|
|
|
2010-07-26 14:56:50 +04:00
|
|
|
# SMBIOS provided firmware instance and labels
|
2011-03-29 20:45:57 +04:00
|
|
|
obj-$(CONFIG_PCI_LABEL) += pci-label.o
|
2010-07-26 14:56:50 +04:00
|
|
|
|
2007-07-10 20:54:40 +04:00
|
|
|
obj-$(CONFIG_PCI_SYSCALL) += syscall.o
|
2005-04-17 02:20:36 +04:00
|
|
|
|
2008-11-26 08:17:13 +03:00
|
|
|
obj-$(CONFIG_PCI_STUB) += pci-stub.o
|
|
|
|
|
2010-08-03 05:31:05 +04:00
|
|
|
obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o
|
|
|
|
|
2011-04-11 05:37:07 +04:00
|
|
|
obj-$(CONFIG_OF) += of.o
|
|
|
|
|
2010-09-24 23:17:26 +04:00
|
|
|
ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
|
pci: PCIe driver for Marvell Armada 370/XP systems
This driver implements the support for the PCIe interfaces on the
Marvell Armada 370/XP ARM SoCs. In the future, it might be extended to
cover earlier families of Marvell SoCs, such as Dove, Orion and
Kirkwood.
The driver implements the hw_pci operations needed by the core ARM PCI
code to setup PCI devices and get their corresponding IRQs, and the
pci_ops operations that are used by the PCI core to read/write the
configuration space of PCI devices.
Since the PCIe interfaces of Marvell SoCs are completely separate and
not linked together in a bus, this driver sets up an emulated PCI host
bridge, with one PCI-to-PCI bridge as child for each hardware PCIe
interface.
In addition, this driver enumerates the different PCIe slots, and for
those having a device plugged in, it sets up the necessary address
decoding windows, using the mvebu-mbus driver.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-05-16 19:55:22 +04:00
|
|
|
|
|
|
|
# PCI host controller drivers
|
|
|
|
obj-y += host/
|