mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-08 13:06:42 +07:00
66725152fb
This adds standalone driver to support PCI hotplug for PowerPC PowerNV platform that runs on top of skiboot firmware. The firmware identifies hotpluggable slots and marked their device tree node with proper "ibm,slot-pluggable" and "ibm,reset-by-firmware". The driver scans device tree nodes to create/register PCI hotplug slot accordingly. The PCI slots are organized in fashion of tree, which means one PCI slot might have parent PCI slot and parent PCI slot possibly contains multiple child PCI slots. At the plugging time, the parent PCI slot is populated before its children. The child PCI slots are removed before their parent PCI slot can be removed from the system. If the skiboot firmware doesn't support slot status retrieval, the PCI slot device node shouldn't have property "ibm,reset-by-firmware". In that case, none of valid PCI slots will be detected from device tree. The skiboot firmware doesn't export the capability to access attention LEDs yet and it's something for TBD. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
173 lines
4.5 KiB
Plaintext
173 lines
4.5 KiB
Plaintext
#
|
|
# PCI Hotplug support
|
|
#
|
|
|
|
menuconfig HOTPLUG_PCI
|
|
bool "Support for PCI Hotplug"
|
|
depends on PCI && SYSFS
|
|
---help---
|
|
Say Y here if you have a motherboard with a PCI Hotplug controller.
|
|
This allows you to add and remove PCI cards while the machine is
|
|
powered up and running.
|
|
|
|
When in doubt, say N.
|
|
|
|
if HOTPLUG_PCI
|
|
|
|
config HOTPLUG_PCI_COMPAQ
|
|
tristate "Compaq PCI Hotplug driver"
|
|
depends on X86 && PCI_BIOS
|
|
help
|
|
Say Y here if you have a motherboard with a Compaq PCI Hotplug
|
|
controller.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cpqphp.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_COMPAQ_NVRAM
|
|
bool "Save configuration into NVRAM on Compaq servers"
|
|
depends on HOTPLUG_PCI_COMPAQ
|
|
help
|
|
Say Y here if you have a Compaq server that has a PCI Hotplug
|
|
controller. This will allow the PCI Hotplug driver to store the PCI
|
|
system configuration options in NVRAM.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_IBM
|
|
tristate "IBM PCI Hotplug driver"
|
|
depends on X86_IO_APIC && X86 && PCI_BIOS
|
|
help
|
|
Say Y here if you have a motherboard with a IBM PCI Hotplug
|
|
controller.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ibmphp.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_ACPI
|
|
bool "ACPI PCI Hotplug driver"
|
|
depends on HOTPLUG_PCI=y && ((!ACPI_DOCK && ACPI) || (ACPI_DOCK))
|
|
help
|
|
Say Y here if you have a system that supports PCI Hotplug using
|
|
ACPI.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_ACPI_IBM
|
|
tristate "ACPI PCI Hotplug driver IBM extensions"
|
|
depends on HOTPLUG_PCI_ACPI
|
|
help
|
|
Say Y here if you have an IBM system that supports PCI Hotplug using
|
|
ACPI.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called acpiphp_ibm.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_CPCI
|
|
bool "CompactPCI Hotplug driver"
|
|
help
|
|
Say Y here if you have a CompactPCI system card with CompactPCI
|
|
hotswap support per the PICMG 2.1 specification.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_CPCI_ZT5550
|
|
tristate "Ziatech ZT5550 CompactPCI Hotplug driver"
|
|
depends on HOTPLUG_PCI_CPCI && X86
|
|
help
|
|
Say Y here if you have an Performance Technologies (formerly Intel,
|
|
formerly just Ziatech) Ziatech ZT5550 CompactPCI system card.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cpcihp_zt5550.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_CPCI_GENERIC
|
|
tristate "Generic port I/O CompactPCI Hotplug driver"
|
|
depends on HOTPLUG_PCI_CPCI && X86
|
|
help
|
|
Say Y here if you have a CompactPCI system card that exposes the #ENUM
|
|
hotswap signal as a bit in a system register that can be read through
|
|
standard port I/O.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cpcihp_generic.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_SHPC
|
|
tristate "SHPC PCI Hotplug driver"
|
|
help
|
|
Say Y here if you have a motherboard with a SHPC PCI Hotplug
|
|
controller.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called shpchp.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_POWERNV
|
|
tristate "PowerPC PowerNV PCI Hotplug driver"
|
|
depends on PPC_POWERNV && EEH
|
|
select OF_DYNAMIC
|
|
help
|
|
Say Y here if you run PowerPC PowerNV platform that supports
|
|
PCI Hotplug
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called pnv-php.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_RPA
|
|
tristate "RPA PCI Hotplug driver"
|
|
depends on PPC_PSERIES && EEH
|
|
help
|
|
Say Y here if you have a RPA system that supports PCI Hotplug.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called rpaphp.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_RPA_DLPAR
|
|
tristate "RPA Dynamic Logical Partitioning for I/O slots"
|
|
depends on HOTPLUG_PCI_RPA
|
|
help
|
|
Say Y here if your system supports Dynamic Logical Partitioning
|
|
for I/O slots.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called rpadlpar_io.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_SGI
|
|
tristate "SGI PCI Hotplug Support"
|
|
depends on IA64_SGI_SN2 || IA64_GENERIC
|
|
help
|
|
Say Y here if you want to use the SGI Altix Hotplug
|
|
Driver for PCI devices.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HOTPLUG_PCI_S390
|
|
bool "System z PCI Hotplug Support"
|
|
depends on S390 && 64BIT
|
|
help
|
|
Say Y here if you want to use the System z PCI Hotplug
|
|
driver for PCI devices. Without this driver it is not
|
|
possible to access stand-by PCI functions nor to deconfigure
|
|
PCI functions.
|
|
|
|
When in doubt, say Y.
|
|
|
|
endif # HOTPLUG_PCI
|