linux/drivers/pci
Pali Rohár 086226048b PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge
commit bc4fac42e5f8460af09c0a7f2f1915be09e20c71 upstream.

Aardvark supports PCIe Hot Reset via PCIE_CORE_CTRL1_REG.

Use it for implementing PCI_BRIDGE_CTL_BUS_RESET bit of PCI_BRIDGE_CONTROL
register on emulated bridge.

With this, the function pci_reset_secondary_bus() starts working and can
reset connected PCIe card. Custom userspace script [1] which uses setpci
can trigger PCIe Hot Reset and reset the card manually.

[1] https://alexforencich.com/wiki/en/pcie/hot-reset-linux

Link: https://lore.kernel.org/r/20211028185659.20329-7-kabel@kernel.org
Fixes: 8a3ebd8de3 ("PCI: aardvark: Implement emulated root PCI bridge config space")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-01 09:23:31 +01:00
..
controller PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge 2021-12-01 09:23:31 +01:00
endpoint PCI: endpoint: Fix missing destroy_workqueue() 2021-05-19 10:08:25 +02:00
hotplug PCI: ibmphp: Fix double unmap of io_mem 2021-09-22 12:26:44 +02:00
pcie PCI/portdrv: Enable Bandwidth Notification only if port supports it 2021-09-22 12:26:22 +02:00
switch
Kconfig
Makefile
access.c
ats.c
bus.c PCI: Add device even if driver attach failed 2020-08-21 13:05:20 +02:00
ecam.c PCI/ACPI: Add Ampere Altra SOC MCFG quirk 2021-09-26 14:07:05 +02:00
host-bridge.c
iov.c PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY 2020-10-29 09:57:54 +01:00
irq.c
mmap.c
msi.c PCI/MSI: Deal with devices lying about their MSI mask capability 2021-11-21 13:38:50 +01:00
of.c
p2pdma.c PCI/P2PDMA: Avoid pci_get_slot(), which may sleep 2021-07-20 16:10:47 +02:00
pci-acpi.c PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() 2020-12-30 11:51:32 +01:00
pci-bridge-emul.c PCI: pci-bridge-emul: Fix array overruns, improve safety 2021-12-01 09:23:30 +01:00
pci-bridge-emul.h PCI: pci-bridge-emul: Add PCIe Root Capabilities Register 2021-09-26 14:07:04 +02:00
pci-driver.c
pci-label.c PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun 2021-07-20 16:10:49 +02:00
pci-mid.c
pci-pf-stub.c
pci-stub.c
pci-sysfs.c
pci.c PCI: Fix pci_dev_str_match_path() alloc while atomic bug 2021-09-22 12:26:44 +02:00
pci.h PCI: thunder: Fix compile testing 2021-05-22 11:38:28 +02:00
probe.c PCI: Fix pci_host_bridge struct device release/free handling 2021-10-06 15:42:38 +02:00
proc.c
quirks.c PCI: Add MSI masking quirk for Nvidia ION AHCI 2021-11-21 13:38:51 +01:00
remove.c PCI: Fix pci_host_bridge struct device release/free handling 2021-10-06 15:42:38 +02:00
rom.c PCI: Use ioremap(), not phys_to_virt() for platform ROM 2020-10-01 13:17:51 +02:00
search.c
setup-bus.c PCI: Avoid double hpmemsize MMIO window assignment 2020-10-01 13:17:19 +02:00
setup-irq.c
setup-res.c PCI: Decline to resize resources if boot config must be preserved 2021-03-04 10:26:10 +01:00
slot.c PCI: Fix pci_slot_release() NULL pointer dereference 2020-12-30 11:51:47 +01:00
syscall.c PCI: Return ~0 data on pciconfig_read() CAP_SYS_ADMIN failure 2021-09-22 12:26:22 +02:00
vc.c
vpd.c PCI: Allow VPD access for QLogic ISP2722 2021-05-14 09:44:12 +02:00
xen-pcifront.c