[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20241125201915.GA2609291@bhelgaas>
Date: Mon, 25 Nov 2024 14:19:15 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
Rob Herring <robh@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Krzysztof Wilczyński <kwilczynski@...nel.org>
Subject: [GIT PULL] PCI changes for v6.13
The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc:
Linux 6.12-rc1 (2024-09-29 15:06:19 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.13-changes
for you to fetch changes up to 10099266dec8275a6899e6a27dcdfebbcc726cc7:
Merge branch 'pci/typos' (2024-11-25 13:41:00 -0600)
NB:
- Rebased this morning to remove duplicate commits. Result is git
diff-identical to 0f3d0b32cf72, which has been in linux-next since
Nov 22.
- Conflict in drivers/pci/probe.c between existing 1d59d474e1cb ("PCI:
Hold rescan lock while adding devices during host probe") and new
dc421bb3c0db ("PCI: Enable runtime PM of the host bridge").
- Conflict in drivers/pci/pwrctrl/pci-pwrctrl-pwrseq.c between existing
ad783b9f8e78 ("PCI/pwrctl: Abandon QCom WCN probe on pre-pwrseq
device-trees") and new 086bf79a4d45 ("PCI/pwrctrl: Rename pwrctl files
to pwrctrl") and e826ea4c7f26 ("PCI/pwrctrl: Rename pwrctrl functions
and structures"). Note the names in pci_pwrctrl_pwrseq_of_match[]
that need to be updated but aren't flagged as a conflict.
----------------------------------------------------------------
Enumeration:
- Make pci_stop_dev() and pci_destroy_dev() safe so concurrent callers
can't stop a device multiple times, even as we migrate from the global
pci_rescan_remove_lock to finer-grained locking (Keith Busch)
- Improve pci_walk_bus() implementation by making it recursive and moving
locking up to avoid need for a 'locked' parameter (Keith Busch)
- Unexport pci_walk_bus_locked(), which is only used internally by the
PCI core (Keith Busch)
- Detect some Thunderbolt chips that are built-in and hence 'trustworthy'
by a heuristic since the 'ExternalFacingPort' and 'usb4-host-interface'
ACPI properties are not quite enough (Esther Shimanovich)
Resource management:
- Use PCI bus addresses (not CPU addresses) in 'ranges' properties when
building dynamic DT nodes so systems where PCI and CPU addresses differ
work correctly (Andrea della Porta)
- Tidy resource sizing and assignment with helpers to reduce redundancy
(Ilpo Järvinen)
- Improve pdev_sort_resources() 'bogus alignment' warning to be more
specific (Ilpo Järvinen)
Driver binding:
- Convert driver .remove_new() callbacks to .remove() again to finish the
conversion from returning 'int' to being 'void' (Sergio Paracuellos)
- Export pcim_request_all_regions(), a managed interface to request all
BARs (Philipp Stanner)
- Replace pcim_iomap_regions_request_all() with
pcim_request_all_regions(), and pcim_iomap_table()[n] with
pcim_iomap(n), in the following drivers: ahci, crypto qat, crypto
octeontx2, intel_th, iwlwifi, ntb idt, serial rp2, ALSA korg1212
(Philipp Stanner)
- Remove the now unused pcim_iomap_regions_request_all() (Philipp
Stanner)
- Export pcim_iounmap_region(), a managed interface to unmap and release
a PCI BAR (Philipp Stanner)
- Replace pcim_iomap_regions(mask) with pcim_iomap_region(n), and
pcim_iounmap_regions(mask) with pcim_iounmap_region(n), in the
following drivers: fpga dfl-pci, block mtip32xx, gpio-merrifield,
cavium (Philipp Stanner)
Error handling:
- Add sysfs 'reset_subordinate' to reset the entire hierarchy below a
bridge; previously Secondary Bus Reset could only be used when there
was a single device below a bridge (Keith Busch)
- Warn if we reset a running device where the driver didn't register
pci_error_handlers notification callbacks (Keith Busch)
ASPM:
- Disable ASPM L1 before touching L1 PM Substates to follow the spec
closer and avoid a CPU load timeout on some platforms (Ajay Agarwal)
- Set devices below Intel VMD to D0 before enabling ASPM L1 Substates as
required per spec for all L1 Substates changes (Jian-Hong Pan)
Power management:
- Enable starfive controller runtime PM before probing host bridge
(Mayank Rana)
- Enable runtime power management for host bridges (Krishna chaitanya
chundru)
Power control:
- Use of_platform_device_create() instead of of_platform_populate() to
create pwrctl platform devices so we can control it based on the child
nodes (Manivannan Sadhasivam)
- Create pwrctrl platform devices only if there's a relevant power supply
property (Manivannan Sadhasivam)
- Add device link from the pwrctl supplier to the PCI dev to ensure
pwrctl drivers are probed before the PCI dev driver; this avoids a race
where pwrctl could change device power state while the PCI driver was
active (Manivannan Sadhasivam)
- Find pwrctl device for removal with of_find_device_by_node() instead of
searching all children of the parent (Manivannan Sadhasivam)
- Rename 'pwrctl' to 'pwrctrl' to match new bandwidth controller
('bwctrl') and hotplug files (Bjorn Helgaas)
Bandwidth control:
- Add read/modify/write locking for Link Control 2, which is used to
manage Link speed (Ilpo Järvinen)
- Extract Link Bandwidth Management Status check into pcie_lbms_seen(),
where it can be shared between the bandwidth controller and quirks that
use it to help retrain failed links (Ilpo Järvinen)
- Re-add Link Bandwidth notification support with updates to address the
reasons it was previously reverted (Alexandru Gagniuc, Ilpo Järvinen)
- Add pcie_set_target_speed() and related functionality so drivers can
manage PCIe Link speed based on thermal or other constraints (Ilpo
Järvinen)
- Add a thermal cooling driver to throttle PCIe Links via the existing
thermal management framework (Ilpo Järvinen)
- Add a userspace selftest for the PCIe bandwidth controller (Ilpo
Järvinen)
PCI device hotplug:
- Add hotplug controller driver for Marvell OCTEON multi-function device
where function 0 has a management console interface to enable/disable
and provision various personalities for the other functions (Shijith
Thotton)
- Retain a reference to the pci_bus for the lifetime of a pci_slot to
avoid a use-after-free when the thunderbolt driver resets USB4 host
routers on boot, causing hotplug remove/add of downstream docks or
other devices (Lukas Wunner)
- Remove unused cpcihp struct cpci_hp_controller_ops.hardware_test
(Guilherme Giacomo Simoes)
- Remove unused cpqphp struct ctrl_dbg.ctrl (Christophe JAILLET)
- Use pci_bus_read_dev_vendor_id() instead of hand-coded presence
detection in cpqphp (Ilpo Järvinen)
- Simplify cpqphp enumeration, which is already simple-minded and doesn't
handle devices below hot-added bridges (Ilpo Järvinen)
Virtualization:
- Add ACS quirk for Wangxun FF5xxx NICs, which don't advertise an ACS
capability but do isolate functions as though PCI_ACS_RR and PCI_ACS_CR
were set, so the functions can be in independent IOMMU groups (Mengyuan
Lou)
TLP Processing Hints (TPH):
- Add and document TLP Processing Hints (TPH) support so drivers can
enable and disable TPH and the kernel can save/restore TPH
configuration (Wei Huang)
- Add TPH Steering Tag support so drivers can retrieve Steering Tag
values associated with specific CPUs via an ACPI _DSM to improve
performance by directing DMA writes closer to their consumers (Wei
Huang)
Data Object Exchange (DOE):
- Wait up to 1 second for DOE Busy bit to clear before writing a request
to the mailbox to avoid failures if the mailbox is still busy from a
previous transfer (Gregory Price)
Endpoint framework:
- Skip attempts to allocate from endpoint controller memory window if the
requested size is larger than the window (Damien Le Moal)
- Add and document pci_epc_mem_map() and pci_epc_mem_unmap() to handle
controller-specific size and alignment constraints, and add test cases
to the endpoint test driver (Damien Le Moal)
- Implement dwc pci_epc_ops.align_addr() so pci_epc_mem_map() can observe
DWC-specific alignment requirements (Damien Le Moal)
- Synchronously cancel command handler work in endpoint test before
cleaning up DMA and BARs (Damien Le Moal)
- Respect endpoint page size in dw_pcie_ep_align_addr() (Niklas Cassel)
- Use dw_pcie_ep_align_addr() in dw_pcie_ep_raise_msi_irq() and
dw_pcie_ep_raise_msix_irq() instead of open coding the equivalent
(Niklas Cassel)
- Avoid NULL dereference if Modem Host Interface Endpoint lacks 'mmio' DT
property (Zhongqiu Han)
- Release PCI domain ID of Endpoint controller parent (not controller
itself) and before unregistering the controller, to avoid
use-after-free (Zijun Hu)
- Clear secondary (not primary) EPC in pci_epc_remove_epf() when removing
the secondary controller associated with an NTB (Zijun Hu)
Cadence PCIe controller driver:
- Lower severity of 'phy-names' message (Bartosz Wawrzyniak)
Freescale i.MX6 PCIe controller driver:
- Fix suspend/resume support on i.MX6QDL, which has a hardware erratum
that prevents use of L2 (Stefan Eichenberger)
Intel VMD host bridge driver:
- Add 0xb60b and 0xb06f Device IDs for client SKUs (Nirmal Patel)
MediaTek PCIe Gen3 controller driver:
- Update mediatek-gen3 DT binding to require the exact number of clocks
for each SoC (Fei Shao)
- Add support for DT 'max-link-speed' and 'num-lanes' properties to
restrict the link speed and width (AngeloGioacchino Del Regno)
Microchip PolarFlare PCIe controller driver:
- Add DT and driver support for using either of the two PolarFire Root
Ports (Conor Dooley)
NVIDIA Tegra194 PCIe controller driver:
- Move endpoint controller cleanups that depend on refclk from the host
to the notifier that tells us the host has deasserted PERST#, when
refclk should be valid (Manivannan Sadhasivam)
Qualcomm PCIe controller driver:
- Add qcom SAR2130P DT binding with an additional clock (Dmitry
Baryshkov)
- Enable MSI interrupts if 'global' IRQ is supported, since a previous
commit unintentionally masked them (Manivannan Sadhasivam)
- Move endpoint controller cleanups that depend on refclk from the host
to the notifier that tells us the host has deasserted PERST#, when
refclk should be valid (Manivannan Sadhasivam)
- Add DT binding and driver support for IPQ9574, with Synopsys IP v5.80a
and Qcom IP 1.27.0 (devi priya)
- Move the OPP "operating-points-v2" table from the qcom,pcie-sm8450.yaml
DT binding to qcom,pcie-common.yaml, where it can be used by other Qcom
platforms (Qiang Yu)
- Add 'global' SPI interrupt for events like link-up, link-down to
qcom,pcie-x1e80100 DT binding so we can start enumeration when the link
comes up (Qiang Yu)
- Disable ASPM L0s for qcom,pcie-x1e80100 since the PHY is not tuned to
support this (Qiang Yu)
- Add ops_1_21_0 for SC8280X family SoC, which doesn't use the
'iommu-map' DT property and doesn't need BDF-to-SID translation (Qiang
Yu)
Rockchip PCIe controller driver:
- Define ROCKCHIP_PCIE_AT_SIZE_ALIGN to replace magic 256 endpoint .align
value (Damien Le Moal)
- When unmapping an endpoint window, compute the region index instead of
searching for it, and verify that the address was mapped (Damien Le
Moal)
- When mapping an endpoint window, verify that the address hasn't been
mapped already (Damien Le Moal)
- Implement pci_epc_ops.align_addr() for rockchip-ep (Damien Le Moal)
- Fix MSI IRQ data mapping to observe the alignment constraint, which
fixes intermittent page faults in memcpy_toio() and memcpy_fromio()
(Damien Le Moal)
- Rename rockchip_pcie_parse_ep_dt() to rockchip_pcie_ep_get_resources()
for consistency with similar DT interfaces (Damien Le Moal)
- Skip the unnecessary link train in rockchip_pcie_ep_probe() and do it
only in the endpoint start operation (Damien Le Moal)
- Implement pci_epc_ops.stop_link() to disable link training and
controller configuration (Damien Le Moal)
- Attempt link training at 5 GT/s when both partners support it (Damien
Le Moal)
- Add a handler for PERST# signal so we can detect host-initiated resets
and start link training after PERST# is deasserted (Damien Le Moal)
Synopsys DesignWare PCIe controller driver:
- Clear outbound address on unmap so dw_pcie_find_index() won't match an
ATU index that was already unmapped (Damien Le Moal)
- Use of_property_present() instead of of_property_read_bool() when
testing for presence of non-boolean DT properties (Rob Herring)
- Advertise 1MB size if endpoint supports Resizable BARs, which was
inadvertently lost in v6.11 (Niklas Cassel)
TI J721E PCIe driver:
- Add PCIe support for J722S SoC (Siddharth Vadapalli)
- Delay PCIE_T_PVPERL_MS (100 ms), not just PCIE_T_PERST_CLK_US (100 us),
before deasserting PERST# to ensure power and refclk are stable
(Siddharth Vadapalli)
TI Keystone PCIe controller driver:
- Set the 'ti,keystone-pcie' mode so v3.65a devices work in Root Complex
mode (Kishon Vijay Abraham I)
- Try to avoid unrecoverable SError for attempts to issue config
transactions when the link is down; this is racy but the best we can do
(Kishon Vijay Abraham I)
Miscellaneous:
- Reorganize kerneldoc parameter names to match order in function
signature (Julia Lawall)
- Fix sysfs reset_method_store() memory leak (Todd Kjos)
- Simplify pci_create_slot() (Ilpo Järvinen)
- Fix incorrect printf format specifiers in pcitest (Luo Yifan)
----------------------------------------------------------------
Ajay Agarwal (1):
PCI/ASPM: Disable L1 before disabling L1 PM Substates
Andrea della Porta (1):
PCI: of_property: Assign PCI instead of CPU bus address to dynamic PCI nodes
AngeloGioacchino Del Regno (2):
PCI: mediatek-gen3: Add support for setting max-link-speed limit
PCI: mediatek-gen3: Add support for restricting link width
Bartosz Wawrzyniak (1):
PCI: cadence: Lower severity of message when phy-names property is absent in DTS
Bjorn Helgaas (36):
PCI: Fix typos
PCI: Drop duplicate pcie_get_speed_cap(), pcie_get_width_cap() declarations
PCI/pwrctrl: Rename pwrctl files to pwrctrl
PCI/pwrctrl: Rename pwrctrl functions and structures
Merge branch 'pci/aspm'
Merge branch 'pci/bwctrl'
Merge branch 'pci/doe'
Merge branch 'pci/devm'
Merge branch 'pci/driver-remove'
Merge branch 'pci/enumeration'
Merge branch 'pci/hotplug'
Merge branch 'pci/hotplug-octeon'
Merge branch 'pci/locking'
Merge branch 'pci/of'
Merge branch 'pci/pm'
Merge branch 'pci/pwrctl'
Merge branch 'pci/reset'
Merge branch 'pci/resource'
Merge branch 'pci/thunderbolt'
Merge branch 'pci/tph'
Merge branch 'pci/virtualization'
Merge branch 'pci/dt-bindings'
Merge branch 'pci/endpoint'
Merge branch 'pci/controller/cadence'
Merge branch 'pci/controller/dwc'
Merge branch 'pci/controller/imx6'
Merge branch 'pci/controller/j721e'
Merge branch 'pci/controller/keystone'
Merge branch 'pci/controller/mediatek'
Merge branch 'pci/controller/microchip'
Merge branch 'pci/controller/qcom'
Merge branch 'pci/controller/rockchip'
Merge branch 'pci/controller/tegra194'
Merge branch 'pci/controller/vmd'
Merge branch 'pci/misc'
Merge branch 'pci/typos'
Christophe JAILLET (1):
PCI: cpqphp: Remove unused struct ctrl_dbg.ctrl
Conor Dooley (2):
dt-bindings: PCI: microchip,pcie-host: Add reg for Root Port 2
PCI: microchip: Add support for using either Root Port 1 or 2
Damien Le Moal (21):
PCI: endpoint: Introduce pci_epc_function_is_valid()
PCI: endpoint: Improve pci_epc_mem_alloc_addr()
PCI: endpoint: Introduce pci_epc_mem_map()/unmap()
PCI: endpoint: Update documentation
PCI: endpoint: test: Use pci_epc_mem_map/unmap()
PCI: dwc: endpoint: Clear outbound address on unmap
PCI: dwc: endpoint: Implement the pci_epc_ops::align_addr() operation
PCI: endpoint: test: Synchronously cancel command handler work
PCI: rockchip-ep: Fix address translation unit programming
PCI: rockchip-ep: Use a macro to define EP controller .align feature
PCI: rockchip-ep: Improve rockchip_pcie_ep_unmap_addr()
PCI: rockchip-ep: Improve rockchip_pcie_ep_map_addr()
PCI: rockchip-ep: Implement the pci_epc_ops::align_addr() operation
PCI: rockchip-ep: Fix MSI IRQ data mapping
PCI: rockchip-ep: Rename rockchip_pcie_parse_ep_dt()
PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() memory allocations
PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() MSI-X hiding
PCI: rockchip-ep: Refactor endpoint link training enable
PCI: rockship-ep: Implement the pci_epc_ops::stop_link() operation
PCI: rockchip-ep: Improve link training
PCI: rockchip-ep: Handle PERST# signal in EP mode
Dmitry Baryshkov (1):
dt-bindings: PCI: qcom,pcie-sm8550: Add SAR2130P compatible
Esther Shimanovich (1):
PCI: Detect and trust built-in Thunderbolt chips
Fei Shao (1):
dt-bindings: PCI: mediatek-gen3: Allow exact number of clocks only
Gregory Price (1):
PCI/DOE: Poll DOE Busy bit for up to 1 second in pci_doe_send_req()
Guilherme Giacomo Simoes (1):
PCI: cpcihp: Remove unused struct cpci_hp_controller_ops.hardware_test
Ilpo Järvinen (23):
PCI: hotplug: Remove "Returns" kerneldoc from void functions
PCI: Simplify pci_create_slot() logic
resource: Add resource set range and size helpers
PCI: Use resource_set_{range,size}() helpers
PCI: Use align and resource helpers, and SZ_* in quirk_s3_64M()
PCI: Add ALIGN_DOWN_IF_NONZERO() helper
PCI: Remove unused PCI_SUBTRACTIVE_DECODE
PCI: Move struct pci_bus_resource into bus.c
PCI: Simplify pci_read_bridge_bases() logic
PCI: Improve pdev_sort_resources() warning message
PCI: cpqphp: Fix PCIBIOS_* return value confusion
PCI: cpqphp: Use pci_bus_read_dev_vendor_id() to detect presence
PCI: cpqphp: Use define to read class/revision dword
PCI: cpqphp: Simplify PCI_ScanBusForNonBridge()
Documentation PCI: Reformat RMW ops documentation
PCI: Protect Link Control 2 Register with RMW locking
PCI: Store all PCIe Supported Link Speeds
PCI: Refactor pcie_update_link_speed()
PCI: Abstract LBMS seen check into pcie_lbms_seen()
PCI/bwctrl: Re-add BW notification portdrv as PCIe BW controller
PCI/bwctrl: Add pcie_set_target_speed() to set PCIe Link Speed
thermal: Add PCIe cooling driver
selftests/pcie_bwctrl: Create selftests
Jian-Hong Pan (2):
PCI/ASPM: Add notes about enabling PCI-PM L1SS to pci_enable_link_state(_locked)
PCI: vmd: Set devices to D0 before enabling PM L1 Substates
Julia Lawall (1):
PCI: hotplug: Reorganize kerneldoc parameter names
Keith Busch (7):
PCI: Make pci_stop_dev() concurrent safe
PCI: Make pci_destroy_dev() concurrent safe
PCI: Move __pci_walk_bus() mutex to where we need it
PCI: Convert __pci_walk_bus() to be recursive
PCI: Unexport pci_walk_bus_locked()
PCI: Add 'reset_subordinate' to reset hierarchy below bridge
PCI: Warn if a running device is unaware of reset
Kishon Vijay Abraham I (2):
PCI: keystone: Set mode as Root Complex for "ti,keystone-pcie" compatible
PCI: keystone: Add link up check to ks_pcie_other_map_bus()
Krishna chaitanya chundru (1):
PCI: Enable runtime PM of the host bridge
Lukas Wunner (1):
PCI: Fix use-after-free of slot->bus on hot remove
Luo Yifan (1):
tools: PCI: Fix incorrect printf format specifiers
Manivannan Sadhasivam (7):
PCI: qcom: Enable MSI interrupts together with Link up if 'Global IRQ' is supported
PCI: qcom-ep: Move controller cleanups to qcom_pcie_perst_deassert()
PCI: tegra194: Move controller cleanups to pex_ep_event_pex_rst_deassert()
PCI/pwrctl: Use of_platform_device_create() to create pwrctl devices
PCI/pwrctl: Create pwrctl device only if at least one power supply is present
PCI/pwrctl: Ensure that pwrctl drivers are probed before PCI client drivers
PCI/pwrctl: Remove pwrctl device without iterating over all children of pwrctl parent
Mayank Rana (1):
PCI: starfive: Enable controller runtime PM before probing host bridge
Mengyuan Lou (1):
PCI: Add ACS quirk for Wangxun FF5xxx NICs
Niklas Cassel (2):
PCI: dwc: ep: Use align addr function for dw_pcie_ep_raise_{msi,msix}_irq()
PCI: dwc: ep: Fix advertised resizable BAR size regression
Nirmal Patel (1):
PCI: vmd: Add DID 8086:B06F and 8086:B60B for Intel client SKUs
Philipp Stanner (15):
PCI: Make pcim_request_all_regions() a public function
ata: ahci: Replace deprecated PCI functions
crypto: qat - replace deprecated PCI functions
crypto: marvell - replace deprecated PCI functions
intel_th: pci: Replace deprecated PCI functions
wifi: iwlwifi: replace deprecated PCI functions
ntb: idt: Replace deprecated PCI functions
serial: rp2: Replace deprecated PCI functions
ALSA: korg1212: Replace deprecated PCI functions
PCI: Remove pcim_iomap_regions_request_all()
PCI: Make pcim_iounmap_region() a public function
PCI: Deprecate pcim_iounmap_regions()
fpga/dfl-pci.c: Replace deprecated PCI functions
gpio: Replace deprecated PCI functions
ethernet: cavium: Replace deprecated PCI functions
Qiang Yu (4):
dt-bindings: PCI: qcom: Move OPP table to qcom,pcie-common.yaml
dt-bindings: PCI: qcom,pcie-x1e80100: Add 'global' interrupt
PCI: qcom: Remove BDF2SID mapping config for SC8280X family SoC
PCI: qcom: Disable ASPM L0s for X1E80100
Rick Wertenbroek (1):
PCI: endpoint: Fix pci_epc_map map_size kerneldoc string
Rob Herring (Arm) (2):
dt-bindings: PCI: snps,dw-pcie: Drop "#interrupt-cells" from example
PCI: dwc: Use of_property_present() for non-boolean properties
Sergio Paracuellos (2):
PCI: controller: Switch back to struct platform_driver::remove()
PCI: acpiphp_ampere_altra: Switch back to struct platform_driver::remove()
Shijith Thotton (1):
PCI: hotplug: Add OCTEON PCI hotplug controller driver
Siddharth Vadapalli (2):
PCI: j721e: Add PCIe support for J722S SoC
PCI: j721e: Deassert PERST# after a delay of PCIE_T_PVPERL_MS milliseconds
Stefan Eichenberger (1):
PCI: imx6: Fix suspend/resume support on i.MX6QDL
Todd Kjos (1):
PCI: Fix reset_method_store() memory leak
Wang Jiang (1):
PCI: endpoint: Remove surplus return statement from pci_epf_test_clean_dma_chan()
Wei Huang (3):
PCI: Add TLP Processing Hints (TPH) support
PCI/TPH: Add Steering Tag support
PCI/TPH: Add TPH documentation
Yang Li (1):
PCI: mediatek-gen3: Remove unneeded semicolon
Zhongqiu Han (1):
PCI: endpoint: epf-mhi: Avoid NULL dereference if DT lacks 'mmio'
Zijun Hu (2):
PCI: endpoint: Fix PCI domain ID release in pci_epc_destroy()
PCI: endpoint: Clear secondary (not primary) EPC in pci_epc_remove_epf()
devi priya (2):
dt-bindings: PCI: qcom: Document the IPQ9574 PCIe controller
PCI: qcom: Add support for IPQ9574
Documentation/ABI/testing/sysfs-bus-pci | 11 +
Documentation/PCI/endpoint/pci-endpoint.rst | 29 ++
Documentation/PCI/index.rst | 1 +
Documentation/PCI/pciebus-howto.rst | 14 +-
Documentation/PCI/tph.rst | 132 +++++
Documentation/admin-guide/kernel-parameters.txt | 4 +
.../bindings/pci/mediatek-pcie-gen3.yaml | 5 +-
.../bindings/pci/microchip,pcie-host.yaml | 11 +-
.../bindings/pci/plda,xpressrich3-axi-common.yaml | 14 +-
.../devicetree/bindings/pci/qcom,pcie-common.yaml | 4 +
.../devicetree/bindings/pci/qcom,pcie-sm8450.yaml | 4 -
.../devicetree/bindings/pci/qcom,pcie-sm8550.yaml | 4 +-
.../bindings/pci/qcom,pcie-x1e80100.yaml | 9 +-
.../devicetree/bindings/pci/qcom,pcie.yaml | 50 ++
.../devicetree/bindings/pci/snps,dw-pcie.yaml | 1 -
.../bindings/pci/starfive,jh7110-pcie.yaml | 7 +
Documentation/driver-api/driver-model/devres.rst | 1 -
Documentation/driver-api/pci/pci.rst | 3 +
MAINTAINERS | 19 +-
arch/s390/pci/pci_bus.c | 2 +-
arch/x86/pci/acpi.c | 119 +++++
arch/x86/pci/fixup.c | 2 +-
drivers/ata/acard-ahci.c | 6 +-
drivers/ata/ahci.c | 6 +-
drivers/crypto/intel/qat/qat_420xx/adf_drv.c | 11 +-
drivers/crypto/intel/qat/qat_4xxx/adf_drv.c | 11 +-
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c | 14 +-
drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c | 13 +-
drivers/fpga/dfl-pci.c | 16 +-
drivers/gpio/gpio-merrifield.c | 15 +-
drivers/hwtracing/intel_th/pci.c | 9 +-
drivers/net/ethernet/cavium/common/cavium_ptp.c | 7 +-
drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 16 +-
drivers/ntb/hw/idt/ntb_hw_idt.c | 13 +-
drivers/pci/Kconfig | 11 +-
drivers/pci/Makefile | 3 +-
drivers/pci/bus.c | 134 +++--
drivers/pci/controller/cadence/pci-j721e.c | 39 +-
drivers/pci/controller/cadence/pcie-cadence.c | 4 +-
drivers/pci/controller/dwc/pci-exynos.c | 2 +-
drivers/pci/controller/dwc/pci-imx6.c | 57 ++-
drivers/pci/controller/dwc/pci-keystone.c | 14 +-
drivers/pci/controller/dwc/pcie-bt1.c | 2 +-
drivers/pci/controller/dwc/pcie-designware-ep.c | 38 +-
drivers/pci/controller/dwc/pcie-designware-host.c | 4 +-
drivers/pci/controller/dwc/pcie-histb.c | 2 +-
drivers/pci/controller/dwc/pcie-intel-gw.c | 2 +-
drivers/pci/controller/dwc/pcie-kirin.c | 2 +-
drivers/pci/controller/dwc/pcie-qcom-ep.c | 8 +-
drivers/pci/controller/dwc/pcie-qcom.c | 19 +-
drivers/pci/controller/dwc/pcie-rcar-gen4.c | 2 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 9 +-
drivers/pci/controller/pci-aardvark.c | 2 +-
drivers/pci/controller/pci-host-generic.c | 2 +-
drivers/pci/controller/pci-mvebu.c | 2 +-
drivers/pci/controller/pci-tegra.c | 4 +-
drivers/pci/controller/pci-thunder-pem.c | 4 +-
drivers/pci/controller/pci-xgene-msi.c | 2 +-
drivers/pci/controller/pcie-altera-msi.c | 2 +-
drivers/pci/controller/pcie-altera.c | 6 +-
drivers/pci/controller/pcie-brcmstb.c | 2 +-
drivers/pci/controller/pcie-hisi-error.c | 2 +-
drivers/pci/controller/pcie-iproc-platform.c | 2 +-
drivers/pci/controller/pcie-mediatek-gen3.c | 77 ++-
drivers/pci/controller/pcie-mediatek.c | 2 +-
drivers/pci/controller/pcie-mt7621.c | 2 +-
drivers/pci/controller/pcie-rcar-host.c | 4 +-
drivers/pci/controller/pcie-rockchip-ep.c | 440 +++++++++++++----
drivers/pci/controller/pcie-rockchip-host.c | 6 +-
drivers/pci/controller/pcie-rockchip.c | 21 +-
drivers/pci/controller/pcie-rockchip.h | 24 +-
drivers/pci/controller/pcie-xilinx-nwl.c | 2 +-
drivers/pci/controller/plda/pcie-microchip-host.c | 126 ++---
drivers/pci/controller/plda/pcie-starfive.c | 12 +-
drivers/pci/controller/vmd.c | 17 +-
drivers/pci/devres.c | 67 +--
drivers/pci/doe.c | 14 +-
drivers/pci/ecam.c | 2 +-
drivers/pci/endpoint/functions/pci-epf-mhi.c | 6 +
drivers/pci/endpoint/functions/pci-epf-test.c | 380 +++++++-------
drivers/pci/endpoint/pci-epc-core.c | 193 ++++++--
drivers/pci/endpoint/pci-epc-mem.c | 9 +-
drivers/pci/hotplug/Kconfig | 10 +
drivers/pci/hotplug/Makefile | 1 +
drivers/pci/hotplug/acpiphp_ampere_altra.c | 2 +-
drivers/pci/hotplug/cpci_hotplug.h | 1 -
drivers/pci/hotplug/cpqphp_pci.c | 47 +-
drivers/pci/hotplug/cpqphp_sysfs.c | 1 -
drivers/pci/hotplug/octep_hp.c | 427 ++++++++++++++++
drivers/pci/hotplug/pci_hotplug_core.c | 8 +-
drivers/pci/hotplug/pciehp_ctrl.c | 5 +
drivers/pci/hotplug/pciehp_hpc.c | 2 +-
drivers/pci/iov.c | 6 +-
drivers/pci/of.c | 27 +
drivers/pci/of_property.c | 2 +-
drivers/pci/pci-sysfs.c | 26 +
drivers/pci/pci.c | 98 ++--
drivers/pci/pci.h | 79 ++-
drivers/pci/pcie/Makefile | 2 +-
drivers/pci/pcie/aer.c | 15 +-
drivers/pci/pcie/aspm.c | 100 ++--
drivers/pci/pcie/bwctrl.c | 366 ++++++++++++++
drivers/pci/pcie/portdrv.c | 9 +-
drivers/pci/pcie/portdrv.h | 6 +-
drivers/pci/probe.c | 77 ++-
drivers/pci/pwrctl/Makefile | 6 -
drivers/pci/pwrctl/core.c | 157 ------
drivers/pci/{pwrctl => pwrctrl}/Kconfig | 0
drivers/pci/pwrctrl/Makefile | 6 +
drivers/pci/pwrctrl/core.c | 148 ++++++
.../pci-pwrctrl-pwrseq.c} | 34 +-
drivers/pci/quirks.c | 70 +--
drivers/pci/remove.c | 32 +-
drivers/pci/setup-bus.c | 41 +-
drivers/pci/setup-res.c | 7 +-
drivers/pci/slot.c | 24 +-
drivers/pci/tph.c | 547 +++++++++++++++++++++
drivers/thermal/Kconfig | 9 +
drivers/thermal/Makefile | 2 +
drivers/thermal/pcie_cooling.c | 80 +++
drivers/tty/serial/rp2.c | 12 +-
include/linux/ioport.h | 32 ++
include/linux/pci-bwctrl.h | 28 ++
include/linux/pci-epc.h | 38 ++
include/linux/{pci-pwrctl.h => pci-pwrctrl.h} | 22 +-
include/linux/pci-tph.h | 44 ++
include/linux/pci.h | 66 +--
include/uapi/linux/pci_regs.h | 38 +-
sound/pci/korg1212/korg1212.c | 6 +-
tools/pci/pcitest.c | 10 +-
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/pcie_bwctrl/Makefile | 2 +
.../pcie_bwctrl/set_pcie_cooling_state.sh | 122 +++++
.../selftests/pcie_bwctrl/set_pcie_speed.sh | 67 +++
134 files changed, 4173 insertions(+), 1164 deletions(-)
create mode 100644 Documentation/PCI/tph.rst
create mode 100644 drivers/pci/hotplug/octep_hp.c
create mode 100644 drivers/pci/pcie/bwctrl.c
delete mode 100644 drivers/pci/pwrctl/Makefile
delete mode 100644 drivers/pci/pwrctl/core.c
rename drivers/pci/{pwrctl => pwrctrl}/Kconfig (100%)
create mode 100644 drivers/pci/pwrctrl/Makefile
create mode 100644 drivers/pci/pwrctrl/core.c
rename drivers/pci/{pwrctl/pci-pwrctl-pwrseq.c => pwrctrl/pci-pwrctrl-pwrseq.c} (64%)
create mode 100644 drivers/pci/tph.c
create mode 100644 drivers/thermal/pcie_cooling.c
create mode 100644 include/linux/pci-bwctrl.h
rename include/linux/{pci-pwrctl.h => pci-pwrctrl.h} (69%)
create mode 100644 include/linux/pci-tph.h
create mode 100644 tools/testing/selftests/pcie_bwctrl/Makefile
create mode 100755 tools/testing/selftests/pcie_bwctrl/set_pcie_cooling_state.sh
create mode 100755 tools/testing/selftests/pcie_bwctrl/set_pcie_speed.sh
Powered by blists - more mailing lists