WSL2-Linux-Kernel/drivers/pci
Rick Wertenbroek b409d8df9b PCI: rockchip: Don't advertise MSI-X in PCIe capabilities
[ Upstream commit a52587e0be ]

The RK3399 PCIe endpoint controller cannot generate MSI-X IRQs.
This is documented in the RK3399 technical reference manual (TRM)
section 17.5.9 "Interrupt Support".

MSI-X capability should therefore not be advertised. Remove the
MSI-X capability by editing the capability linked-list. The
previous entry is the MSI capability, therefore get the next
entry from the MSI-X capability entry and set it as next entry
for the MSI capability. This in effect removes MSI-X from the list.

Linked list before : MSI cap -> MSI-X cap -> PCIe Device cap -> ...
Linked list now : MSI cap -> PCIe Device cap -> ...

Link: https://lore.kernel.org/r/20230418074700.1083505-11-rick.wertenbroek@gmail.com
Fixes: cf590b0783 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller")
Tested-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Rick Wertenbroek <rick.wertenbroek@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-03 10:22:28 +02:00
..
controller PCI: rockchip: Don't advertise MSI-X in PCIe capabilities 2023-08-03 10:22:28 +02:00
endpoint PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled 2022-12-31 13:14:22 +01:00
hotplug PCI: pciehp: Cancel bringup sequence if card is not present 2023-07-23 13:47:11 +02:00
pcie PCI/ASPM: Avoid link retraining race 2023-08-03 10:22:28 +02:00
switch PCI: switchtec: Return -EFAULT for copy_to_user() errors 2023-03-10 09:39:37 +01:00
Kconfig
Makefile
access.c PCI: Reduce warnings on possible RW1C corruption 2022-04-08 14:23:37 +02:00
ats.c
bus.c PCI: s390: Fix use-after-free of PCI resources with per-function hotplug 2023-03-22 13:31:24 +01:00
ecam.c
host-bridge.c
iov.c PCI/IOV: Enlarge virtfn sysfs name buffer 2023-03-10 09:39:37 +01:00
irq.c PCI: Check for alloc failure in pci_request_irq() 2022-12-31 13:14:24 +01:00
mmap.c
msi.c PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity() 2022-01-27 11:04:11 +01:00
of.c
p2pdma.c memremap: remove support for external pgmap refcounts 2022-08-17 14:23:43 +02:00
pci-acpi.c PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3 2022-06-09 10:23:04 +02:00
pci-bridge-emul.c PCI: pci-bridge-emul: Add definitions for missing capabilities registers 2022-05-12 12:30:27 +02:00
pci-bridge-emul.h
pci-driver.c PCI: Unify delay handling for reset and resume 2023-03-22 13:31:37 +01:00
pci-label.c
pci-mid.c
pci-pf-stub.c
pci-stub.c
pci-sysfs.c PCI/sysfs: Fix double free in error path 2023-01-12 11:58:58 +01:00
pci.c PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold 2023-07-23 13:47:49 +02:00
pci.h PCI/ASPM: Remove pcie_aspm_pm_state_change() 2023-05-01 08:23:23 +09:00
probe.c
proc.c
quirks.c PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 2023-07-23 13:47:50 +02:00
remove.c
rom.c
search.c
setup-bus.c PCI: Take other bus devices into account when distributing resources 2023-03-11 13:57:37 +01:00
setup-irq.c
setup-res.c PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge 2022-10-26 12:34:24 +02:00
slot.c
syscall.c
vc.c
vpd.c
xen-pcifront.c