linux/drivers/pci
Mengyuan Lou 617bd1e6c3 PCI: Add ACS quirk for Wangxun FF5xxx NICs
[ Upstream commit aa46a3736a ]

Wangxun FF5xxx NICs are similar to SFxxx, RP1000 and RP2000 NICs.  They may
be multi-function devices, but they do not advertise an ACS capability.

But the hardware does isolate FF5xxx functions as though it had an ACS
capability and PCI_ACS_RR and PCI_ACS_CR were set in the ACS Control
register, i.e., all peer-to-peer traffic is directed upstream instead of
being routed internally.

Add ACS quirk for FF5xxx NICs in pci_quirk_wangxun_nic_acs() so the
functions can be in independent IOMMU groups.

Link: https://lore.kernel.org/r/E16053DB2B80E9A5+20241115024604.30493-1-mengyuanlou@net-swift.com
Signed-off-by: Mengyuan Lou <mengyuanlou@net-swift.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-14 20:04:05 +01:00
..
controller PCI: starfive: Enable controller runtime PM before probing host bridge 2024-12-14 20:04:04 +01:00
endpoint PCI: endpoint: Clear secondary (not primary) EPC in pci_epc_remove_epf() 2024-12-09 10:41:07 +01:00
hotplug PCI: cpqphp: Fix PCIBIOS_* return value confusion 2024-12-05 14:02:21 +01:00
msi Switch ARM/ARM64 over to the modern per device MSI domains: 2024-07-22 14:02:19 -07:00
pcie PCI/AER: Use PCI_DEVID() macro in aer_inject() 2024-09-01 17:05:45 +00:00
pwrctl PCI/pwrctl: Abandon QCom WCN probe on pre-pwrseq device-trees 2024-10-23 13:34:41 -05:00
switch PCI: switchtec: Make switchtec_class constant 2024-06-10 15:03:30 -05:00
access.c PCI: Revert the cfg_access_lock lockdep mechanism 2024-06-04 12:10:05 -05:00
ats.c pci-v6.12-changes 2024-09-23 12:47:06 -07:00
bus.c pci-v6.11-changes 2024-07-19 19:03:18 -07:00
devres.c pci-v6.12-changes 2024-09-23 12:47:06 -07:00
doe.c PCI/DOE: Support discovery version 2 2024-04-09 09:33:15 -05:00
ecam.c PCI: Dynamically map ECAM regions 2021-06-16 17:20:40 -05:00
host-bridge.c PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus 2021-09-02 17:59:58 +02:00
iomap.c PCI: Fix typos 2024-09-19 14:24:00 -05:00
iov.c PCI: Use resource names in PCI log messages 2023-12-15 17:28:42 -06:00
irq.c PCI: Place interrupt related code into irq.c 2024-01-29 17:01:31 -06:00
Kconfig PCI/NPEM: Add Native PCIe Enclosure Management support 2024-09-04 17:25:12 -05:00
Makefile PCI/NPEM: Add Native PCIe Enclosure Management support 2024-09-04 17:25:12 -05:00
mmap.c PCI/sysfs: Compile pci-sysfs.c only if CONFIG_SYSFS=y 2024-03-05 16:08:43 -06:00
npem.c PCI/NPEM: Add _DSM PCIe SSD status LED management 2024-09-06 11:37:24 -05:00
of.c pci-v6.11-changes 2024-07-19 19:03:18 -07:00
of_property.c PCI: of_property: Assign PCI instead of CPU bus address to dynamic PCI nodes 2024-12-09 10:41:09 +01:00
p2pdma.c PCI/P2PDMA: Fix a sleeping issue in a RCU read section 2024-02-08 15:31:43 -06:00
pci-acpi.c ACPI: RISC-V: Implement PCI related functionality 2024-08-27 15:48:35 +02:00
pci-bridge-emul.c PCI: Rename CRS Completion Status to RRS 2024-09-10 19:52:30 -05:00
pci-bridge-emul.h PCI: pci-bridge-emul: Set position of PCI capabilities to real HW value 2022-08-25 12:07:56 +02:00
pci-driver.c PCI: Make pci_bus_type constant 2024-08-23 12:46:22 -05:00
pci-label.c PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions 2021-06-03 22:14:47 -05:00
pci-mid.c PCI/PM: Switch to new Intel CPU model defines 2024-06-11 17:08:14 -05:00
pci-pf-stub.c PCI: Add missing MODULE_DESCRIPTION() macros 2024-07-08 08:35:35 +00:00
pci-stub.c PCI: Add missing MODULE_DESCRIPTION() macros 2024-07-08 08:35:35 +00:00
pci-sysfs.c PCI: Add 'reset_subordinate' to reset hierarchy below bridge 2024-12-14 20:04:05 +01:00
pci.c PCI: Add 'reset_subordinate' to reset hierarchy below bridge 2024-12-14 20:04:05 +01:00
pci.h PCI: Add 'reset_subordinate' to reset hierarchy below bridge 2024-12-14 20:04:05 +01:00
probe.c PCI: Detect and trust built-in Thunderbolt chips 2024-12-14 20:04:04 +01:00
proc.c PCI: Remove pci_mmap_page_range() wrapper 2022-07-29 12:08:44 -05:00
quirks.c PCI: Add ACS quirk for Wangxun FF5xxx NICs 2024-12-14 20:04:05 +01:00
remove.c pci-v6.12-changes 2024-09-23 12:47:06 -07:00
rom.c PCI: Prefer 'unsigned int' over bare 'unsigned' 2021-10-27 13:41:22 -05:00
search.c PCI: Add pci_get_base_class() helper 2023-09-28 16:49:44 -05:00
setup-bus.c PCI: Relax bridge window tail sizing rules 2024-06-12 14:51:30 -05:00
setup-res.c PCI: Use resource names in PCI log messages 2023-12-15 17:28:42 -06:00
slot.c PCI: Fix use-after-free of slot->bus on hot remove 2024-12-05 14:02:45 +01:00
syscall.c PCI: Use consistent put_user() pointer types 2023-08-25 08:15:13 -05:00
vc.c PCI/VC: Use FIELD_GET() 2023-10-24 16:55:45 -05:00
vgaarb.c pci-v6.7-changes 2023-11-02 14:05:18 -10:00
vpd.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
xen-pcifront.c x86: always initialize xen-swiotlb when xen-pcifront is enabling 2023-07-31 17:54:27 +02:00