Skip to content

Commit 705c1da

Browse files
committed
Merge tag 'pci-v6.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull PCI updates from Bjorn Helgaas: "Enumeration: - Consolidate interrupt related code in irq.c (Ilpo Järvinen) - Reduce kernel size by replacing sysfs resource macros with functions (Ilpo Järvinen) - Reduce kernel size by compiling sysfs support only when CONFIG_SYSFS=y (Lukas Wunner) - Avoid using Extended Tags on 3ware-9650SE Root Port to work around an apparent hardware defect (Jörg Wedekind) Resource management: - Fix an MMIO mapping leak in pci_iounmap() (Philipp Stanner) - Move pci_iomap.c and other PCI-specific devres code to drivers/pci (Philipp Stanner) - Consolidate PCI devres code in devres.c (Philipp Stanner) Power management: - Avoid D3cold on Asus B1400 PCI-NVMe bridge, where firmware doesn't know how to return correctly to D0, and remove previous quirk that wasn't as specific (Daniel Drake) - Allow runtime PM when the driver enables it but doesn't need any runtime PM callbacks (Raag Jadav) - Drain runtime-idle callbacks before driver removal to avoid races between .remove() and .runtime_idle(), which caused intermittent page faults when the rtsx .runtime_idle() accessed registers that its .remove() had already unmapped (Rafael J. Wysocki) Virtualization: - Avoid Secondary Bus Reset on LSI FW643 so it can be assigned to VMs with VFIO, e.g., for professional audio software on many Apple machines, at the cost of leaking state between VMs (Edmund Raile) Error handling: - Print all logged TLP Prefixes, not just the first, after AER or DPC errors (Ilpo Järvinen) - Quirk the DPC PIO log size for Intel Raptor Lake Root Ports, which still don't advertise a legal size (Paul Menzel) - Ignore expected DPC Surprise Down errors on hot removal (Smita Koralahalli) - Block runtime suspend while handling AER errors to avoid races that prevent the device form being resumed from D3hot (Stanislaw Gruszka) Peer-to-peer DMA: - Use atomic XA allocation in RCU read section (Christophe JAILLET) ASPM: - Collect bits of ASPM-related code that we need even without CONFIG_PCIEASPM into aspm.c (David E. Box) - Save/restore L1 PM Substates config for suspend/resume (David E. Box) - Update save_save when ASPM config is changed, so a .slot_reset() during error recovery restores the changed config, not the .probe()-time config (Vidya Sagar) Endpoint framework: - Refactor and improve pci_epf_alloc_space() API (Niklas Cassel) - Clean up endpoint BAR descriptions (Niklas Cassel) - Fix ntb_register_device() name leak in error path (Yang Yingliang) - Return actual error code for pci_vntb_probe() failure (Yang Yingliang) Broadcom STB PCIe controller driver: - Fix MDIO write polling, which previously never waited for completion (Jonathan Bell) Cadence PCIe endpoint driver: - Clear the ARI "Next Function Number" of last function (Jasko-EXT Wojciech) Freescale i.MX6 PCIe controller driver: - Simplify by replacing switch statements with function pointers for different hardware variants (Frank Li) - Simplify by using clk_bulk*() API (Frank Li) - Remove redundant DT clock and reg/reg-name details (Frank Li) - Add i.MX95 DT and driver support for both Root Complex and Endpoint mode (Frank Li) Microsoft Hyper-V host bridge driver: - Reduce memory usage by limiting ring buffer size to 16KB instead of 4 pages (Michael Kelley) Qualcomm PCIe controller driver: - Add X1E80100 DT and driver support (Abel Vesa) - Add DT 'required-opps' for SoCs that require a minimum performance level (Johan Hovold) - Make DT 'msi-map-mask' optional, depending on how MSI interrupts are mapped (Johan Hovold) - Disable ASPM L0s for sc8280xp, sa8540p and sa8295p because the PHY configuration isn't tuned correctly for L0s (Johan Hovold) - Split dt-binding qcom,pcie.yaml into qcom,pcie-common.yaml and separate files for SA8775p, SC7280, SC8180X, SC8280XP, SM8150, SM8250, SM8350, SM8450, SM8550 for easier reviewing (Krzysztof Kozlowski) - Enable BDF to SID translation by disabling bypass mode (Manivannan Sadhasivam) - Add endpoint MHI support for Snapdragon SA8775P SoC (Mrinmay Sarkar) Synopsys DesignWare PCIe controller driver: - Allocate 64-bit MSI address if no 32-bit address is available (Ajay Agarwal) - Fix endpoint Resizable BAR to actually advertise the required 1MB size (Niklas Cassel) MicroSemi Switchtec management driver: - Release resources if the .probe() fails (Christophe JAILLET) Miscellaneous: - Make pcie_port_bus_type const (Ricardo B. Marliere)" * tag 'pci-v6.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (77 commits) PCI/ASPM: Update save_state when configuration changes PCI/ASPM: Disable L1 before configuring L1 Substates PCI/ASPM: Call pci_save_ltr_state() from pci_save_pcie_state() PCI/ASPM: Save L1 PM Substates Capability for suspend/resume PCI: hv: Fix ring buffer size calculation PCI: dwc: endpoint: Fix advertised resizable BAR size PCI: cadence: Clear the ARI Capability Next Function Number of the last function PCI: dwc: Strengthen the MSI address allocation logic PCI: brcmstb: Fix broken brcm_pcie_mdio_write() polling PCI: qcom: Add X1E80100 PCIe support dt-bindings: PCI: qcom: Document the X1E80100 PCIe Controller PCI: qcom: Enable BDF to SID translation properly PCI/AER: Generalize TLP Header Log reading PCI/AER: Use explicit register size for PCI_ERR_CAP PCI: qcom: Disable ASPM L0s for sc8280xp, sa8540p and sa8295p dt-bindings: PCI: qcom: Do not require 'msi-map-mask' dt-bindings: PCI: qcom: Allow 'required-opps' PCI/AER: Block runtime suspend when handling errors PCI/ASPM: Move pci_save_ltr_state() to aspm.c PCI/ASPM: Always build aspm.c ...
2 parents 66fd6d0 + aabf717 commit 705c1da

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+3793
-1771
lines changed

Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ saw any problems).
1111

1212
What: /sys/bus/pci/devices/<dev>/aer_dev_correctable
1313
Date: July 2018
14-
KernelVersion: 4.19.0
14+
KernelVersion: 4.19.0
1515
1616
Description: List of correctable errors seen and reported by this
1717
PCI device using ERR_COR. Note that since multiple errors may
@@ -32,7 +32,7 @@ Description: List of correctable errors seen and reported by this
3232

3333
What: /sys/bus/pci/devices/<dev>/aer_dev_fatal
3434
Date: July 2018
35-
KernelVersion: 4.19.0
35+
KernelVersion: 4.19.0
3636
3737
Description: List of uncorrectable fatal errors seen and reported by this
3838
PCI device using ERR_FATAL. Note that since multiple errors may
@@ -62,7 +62,7 @@ Description: List of uncorrectable fatal errors seen and reported by this
6262

6363
What: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal
6464
Date: July 2018
65-
KernelVersion: 4.19.0
65+
KernelVersion: 4.19.0
6666
6767
Description: List of uncorrectable nonfatal errors seen and reported by this
6868
PCI device using ERR_NONFATAL. Note that since multiple errors
@@ -100,20 +100,20 @@ collectors) that are AER capable. These indicate the number of error messages as
100100
device, so these counters include them and are thus cumulative of all the error
101101
messages on the PCI hierarchy originating at that root port.
102102

103-
What: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_cor
103+
What: /sys/bus/pci/devices/<dev>/aer_rootport_total_err_cor
104104
Date: July 2018
105-
KernelVersion: 4.19.0
105+
KernelVersion: 4.19.0
106106
107107
Description: Total number of ERR_COR messages reported to rootport.
108108

109-
What: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_fatal
109+
What: /sys/bus/pci/devices/<dev>/aer_rootport_total_err_fatal
110110
Date: July 2018
111-
KernelVersion: 4.19.0
111+
KernelVersion: 4.19.0
112112
113113
Description: Total number of ERR_FATAL messages reported to rootport.
114114

115-
What: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_nonfatal
115+
What: /sys/bus/pci/devices/<dev>/aer_rootport_total_err_nonfatal
116116
Date: July 2018
117-
KernelVersion: 4.19.0
117+
KernelVersion: 4.19.0
118118
119119
Description: Total number of ERR_NONFATAL messages reported to rootport.

Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-common.yaml

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -150,22 +150,6 @@ allOf:
150150
- {}
151151
- const: pcie_phy
152152
- const: pcie_aux
153-
- if:
154-
properties:
155-
compatible:
156-
not:
157-
contains:
158-
enum:
159-
- fsl,imx6sx-pcie
160-
- fsl,imx8mq-pcie
161-
- fsl,imx6sx-pcie-ep
162-
- fsl,imx8mq-pcie-ep
163-
then:
164-
properties:
165-
clocks:
166-
maxItems: 3
167-
clock-names:
168-
maxItems: 3
169153

170154
- if:
171155
properties:
@@ -223,6 +207,7 @@ allOf:
223207
- fsl,imx6sx-pcie
224208
- fsl,imx6q-pcie
225209
- fsl,imx6qp-pcie
210+
- fsl,imx95-pcie
226211
- fsl,imx6sx-pcie-ep
227212
- fsl,imx6q-pcie-ep
228213
- fsl,imx6qp-pcie-ep

Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,7 @@ properties:
2222
- fsl,imx8mm-pcie-ep
2323
- fsl,imx8mq-pcie-ep
2424
- fsl,imx8mp-pcie-ep
25-
26-
reg:
27-
minItems: 2
28-
29-
reg-names:
30-
items:
31-
- const: dbi
32-
- const: addr_space
25+
- fsl,imx95-pcie-ep
3326

3427
clocks:
3528
minItems: 3
@@ -62,11 +55,48 @@ required:
6255
allOf:
6356
- $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
6457
- $ref: /schemas/pci/fsl,imx6q-pcie-common.yaml#
58+
- if:
59+
properties:
60+
compatible:
61+
enum:
62+
- fsl,imx8mm-pcie-ep
63+
- fsl,imx8mq-pcie-ep
64+
- fsl,imx8mp-pcie-ep
65+
then:
66+
properties:
67+
reg:
68+
minItems: 2
69+
maxItems: 2
70+
reg-names:
71+
items:
72+
- const: dbi
73+
- const: addr_space
74+
75+
- if:
76+
properties:
77+
compatible:
78+
enum:
79+
- fsl,imx95-pcie-ep
80+
then:
81+
properties:
82+
reg:
83+
minItems: 6
84+
maxItems: 6
85+
reg-names:
86+
items:
87+
- const: dbi
88+
- const: atu
89+
- const: dbi2
90+
- const: app
91+
- const: dma
92+
- const: addr_space
93+
6594
- if:
6695
properties:
6796
compatible:
6897
enum:
6998
- fsl,imx8mq-pcie-ep
99+
- fsl,imx95-pcie-ep
70100
then:
71101
properties:
72102
clocks:

Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,7 @@ properties:
2929
- fsl,imx8mq-pcie
3030
- fsl,imx8mm-pcie
3131
- fsl,imx8mp-pcie
32-
33-
reg:
34-
items:
35-
- description: Data Bus Interface (DBI) registers.
36-
- description: PCIe configuration space region.
37-
38-
reg-names:
39-
items:
40-
- const: dbi
41-
- const: config
32+
- fsl,imx95-pcie
4233

4334
clocks:
4435
minItems: 3
@@ -90,6 +81,43 @@ required:
9081
allOf:
9182
- $ref: /schemas/pci/snps,dw-pcie.yaml#
9283
- $ref: /schemas/pci/fsl,imx6q-pcie-common.yaml#
84+
- if:
85+
properties:
86+
compatible:
87+
enum:
88+
- fsl,imx6q-pcie
89+
- fsl,imx6sx-pcie
90+
- fsl,imx6qp-pcie
91+
- fsl,imx7d-pcie
92+
- fsl,imx8mq-pcie
93+
- fsl,imx8mm-pcie
94+
- fsl,imx8mp-pcie
95+
then:
96+
properties:
97+
reg:
98+
maxItems: 2
99+
reg-names:
100+
items:
101+
- const: dbi
102+
- const: config
103+
104+
- if:
105+
properties:
106+
compatible:
107+
enum:
108+
- fsl,imx95-pcie
109+
then:
110+
properties:
111+
reg:
112+
minItems: 4
113+
maxItems: 4
114+
reg-names:
115+
items:
116+
- const: dbi
117+
- const: config
118+
- const: atu
119+
- const: app
120+
93121
- if:
94122
properties:
95123
compatible:
@@ -111,6 +139,7 @@ allOf:
111139
compatible:
112140
enum:
113141
- fsl,imx8mq-pcie
142+
- fsl,imx95-pcie
114143
then:
115144
properties:
116145
clocks:
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/qcom,pcie-common.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm PCI Express Root Complex Common Properties
8+
9+
maintainers:
10+
- Bjorn Andersson <[email protected]>
11+
- Manivannan Sadhasivam <[email protected]>
12+
13+
properties:
14+
reg:
15+
minItems: 4
16+
maxItems: 6
17+
18+
reg-names:
19+
minItems: 4
20+
maxItems: 6
21+
22+
interrupts:
23+
minItems: 1
24+
maxItems: 8
25+
26+
interrupt-names:
27+
minItems: 1
28+
maxItems: 8
29+
30+
iommu-map:
31+
minItems: 1
32+
maxItems: 16
33+
34+
clocks:
35+
minItems: 3
36+
maxItems: 13
37+
38+
clock-names:
39+
minItems: 3
40+
maxItems: 13
41+
42+
dma-coherent: true
43+
44+
interconnects:
45+
maxItems: 2
46+
47+
interconnect-names:
48+
items:
49+
- const: pcie-mem
50+
- const: cpu-pcie
51+
52+
phys:
53+
maxItems: 1
54+
55+
phy-names:
56+
items:
57+
- const: pciephy
58+
59+
power-domains:
60+
maxItems: 1
61+
62+
required-opps:
63+
maxItems: 1
64+
65+
resets:
66+
minItems: 1
67+
maxItems: 12
68+
69+
reset-names:
70+
minItems: 1
71+
maxItems: 12
72+
73+
perst-gpios:
74+
description: GPIO controlled connection to PERST# signal
75+
maxItems: 1
76+
77+
wake-gpios:
78+
description: GPIO controlled connection to WAKE# signal
79+
maxItems: 1
80+
81+
required:
82+
- reg
83+
- reg-names
84+
- interrupt-map-mask
85+
- interrupt-map
86+
- clocks
87+
- clock-names
88+
89+
anyOf:
90+
- required:
91+
- interrupts
92+
- interrupt-names
93+
- "#interrupt-cells"
94+
- required:
95+
- msi-map
96+
97+
allOf:
98+
- $ref: /schemas/pci/pci-bus.yaml#
99+
100+
additionalProperties: true

0 commit comments

Comments
 (0)