linux-stable/drivers/pci
Ilpo Järvinen fb0171a4c0 PCI: Make link retraining use RMW accessors for changing LNKCTL
Don't assume that the device is fully under the control of PCI core.  Use
RMW capability accessors in link retraining which do proper locking to
avoid losing concurrent updates to the register values.

Suggested-by: Lukas Wunner <lukas@wunner.de>
Fixes: 4ec73791a6 ("PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum")
Fixes: 7d715a6c1a ("PCI: add PCI Express ASPM support")
Link: https://lore.kernel.org/r/20230717120503.15276-3-ilpo.jarvinen@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: "Rafael J. Wysocki" <rafael@kernel.org>
2023-08-10 11:13:22 -05:00
..
controller dmaengine updates for v6.5 2023-07-06 09:48:31 -07:00
endpoint Fixes for pci_clean_master, error handling in driver inits, and various 2023-07-09 09:35:51 -07:00
hotplug Merge branch 'pci/hotplug' 2023-06-26 12:59:56 -05:00
msi PCI/MSI: Remove over-zealous hardware size check in pci_msix_validate_entries() 2023-04-16 14:11:51 +02:00
pcie Merge branch 'pci/enumeration' 2023-06-26 12:59:56 -05:00
switch driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
access.c PCI: Add locking to RMW PCI Express Capability Register accessors 2023-08-10 11:12:09 -05:00
ats.c PCI: Enable PASID only when ACS RR & UF enabled on upstream path 2022-11-03 15:47:47 +01:00
bus.c pci-v6.4-changes 2023-04-27 10:45:30 -07:00
doe.c PCI/DOE: Relax restrictions on request and response size 2023-04-18 10:36:58 -07: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
iov.c PCI/IOV: Enlarge virtfn sysfs name buffer 2023-01-18 10:54:41 -06:00
irq.c PCI: Check for alloc failure in pci_request_irq() 2022-11-21 16:55:18 -06:00
Kconfig scatterlist: add dedicated config for DMA flags 2023-06-19 16:19:22 -07:00
Makefile PCI/DOE: Add DOE mailbox support functions 2022-07-19 15:38:04 -07:00
mmap.c PCI: Remove pci_mmap_page_range() wrapper 2022-07-29 12:08:44 -05:00
of.c PCI: of: Propagate firmware node by calling device_set_node() 2023-06-06 17:15:45 -05:00
p2pdma.c PCI/P2PDMA: Fix pci_p2pmem_find_many() kernel-doc 2023-04-06 16:37:51 -05:00
pci-acpi.c PCI/ACPI: Call _REG when transitioning D-states 2023-06-23 12:28:08 -05:00
pci-bridge-emul.c PCI: pci-bridge-emul: Set position of PCI capabilities to real HW value 2022-08-25 12:07:56 +02: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/PM: Drop pci_bridge_wait_for_secondary_bus() timeout parameter 2023-04-11 17:35:06 -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: Do not use pci_platform_pm_ops for Intel MID PM 2021-09-27 17:13:21 +02:00
pci-pf-stub.c PCI/IOV: Simplify pci-pf-stub with module_pci_driver() 2020-09-17 12:40:20 -05:00
pci-stub.c PCI: pci_stub: Set driver_managed_dma 2022-04-28 15:32:20 +02:00
pci-sysfs.c driver core: bus: mark the struct bus_type for sysfs callbacks as constant 2023-03-23 13:20:40 +01:00
pci.c PCI: Make link retraining use RMW accessors for changing LNKCTL 2023-08-10 11:13:22 -05:00
pci.h Merge branch 'pci/pm' 2023-06-26 12:59:56 -05:00
probe.c PCI: Add locking to RMW PCI Express Capability Register accessors 2023-08-10 11:12:09 -05:00
proc.c PCI: Remove pci_mmap_page_range() wrapper 2022-07-29 12:08:44 -05:00
quirks.c pci-v6.5-changes 2023-06-30 15:06:45 -07:00
remove.c cxl for v6.4 2023-04-30 11:51:51 -07:00
rom.c PCI: Prefer 'unsigned int' over bare 'unsigned' 2021-10-27 13:41:22 -05:00
search.c PCI: Remove WARN_ON(in_interrupt()) 2021-02-10 16:46:29 -06:00
setup-bus.c PCI: Make pci_bus_for_each_resource() index optional 2023-04-05 15:10:09 -05:00
setup-irq.c PCI: Tidy comments 2021-09-28 13:43:17 -05:00
setup-res.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
slot.c PCI/sysfs: Constify struct kobj_type pci_slot_ktype 2023-02-16 12:00:25 -06:00
syscall.c PCI: Return int from pciconfig_read() syscall 2021-08-03 16:55:48 -05:00
vc.c PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
vgaarb.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
vpd.c PCI/VPD: Use pci_read_vpd_any() in pci_vpd_size() 2021-10-25 19:12:23 -05:00
xen-pcifront.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00