WSL2-Linux-Kernel/drivers/pci/controller
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
..
cadence PCI: cadence: Fix Gen2 Link Retraining process 2023-07-23 13:47:10 +02:00
dwc PCI: qcom: Disable write access to read only registers for IP v2.3.3 2023-07-23 13:47:50 +02:00
mobiveil
Kconfig
Makefile
pci-aardvark.c PCI: aardvark: Fix reporting Slot capabilities on emulated bridge 2022-08-25 11:40:31 +02:00
pci-ftpci100.c PCI: ftpci100: Release the clock resources 2023-07-23 13:47:11 +02:00
pci-host-common.c
pci-host-generic.c
pci-hyperv-intf.c
pci-hyperv.c PCI: hv: Add a per-bus mutex state_lock 2023-06-28 10:29:43 +02:00
pci-ixp4xx.c
pci-loongson.c PCI: loongson: Add more devices that need MRRS quirk 2023-03-11 13:57:38 +01:00
pci-mvebu.c PCI: mvebu: Fix device enumeration regression 2022-03-08 19:12:42 +01:00
pci-rcar-gen2.c
pci-tegra.c
pci-thunder-ecam.c
pci-thunder-pem.c
pci-v3-semi.c
pci-versatile.c
pci-xgene-msi.c
pci-xgene.c PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup" 2022-04-08 14:24:18 +02:00
pcie-altera-msi.c
pcie-altera.c
pcie-brcmstb.c
pcie-hisi-error.c
pcie-iproc-bcma.c
pcie-iproc-msi.c
pcie-iproc-platform.c
pcie-iproc.c
pcie-iproc.h
pcie-mediatek-gen3.c PCI: mediatek-gen3: Fix refcount leak in mtk_pcie_init_irq_domains() 2022-08-17 14:23:41 +02:00
pcie-mediatek.c PCI: mediatek: Fix refcount leak in mtk_pcie_subsys_powerup() 2022-06-09 10:23:04 +02:00
pcie-microchip-host.c PCI: microchip: Fix refcount leak in mc_pcie_init_irq_domains() 2022-08-17 14:23:40 +02:00
pcie-rcar-ep.c
pcie-rcar-host.c PCI: rcar: Check if device is runtime suspended instead of __clk_is_enabled() 2022-03-08 19:12:34 +01:00
pcie-rcar.c
pcie-rcar.h
pcie-rockchip-ep.c PCI: rockchip: Don't advertise MSI-X in PCIe capabilities 2023-08-03 10:22:28 +02:00
pcie-rockchip-host.c
pcie-rockchip.c PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked 2023-07-23 13:47:50 +02:00
pcie-rockchip.h PCI: rockchip: Don't advertise MSI-X in PCIe capabilities 2023-08-03 10:22:28 +02:00
pcie-xilinx-cpm.c
pcie-xilinx-nwl.c
pcie-xilinx.c
vmd.c PCI: vmd: Reset VMD config register between soft reboots 2023-07-23 13:47:10 +02:00