Skip to content

Commit 67448d1

Browse files
committed
Merge: Update kernel's PCI subsystem to v6.11
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/5357 ``` This series updates RHEL9's PCI subsystem with content from upstream v6.11 - Merge tag 'pci-v6.11-fixes-4' of git://git.kernel.org/pub/scm/../pci/pci https://lkml.org/lkml/2024/9/13/ commit b771845 Merge: e936e7d fc8c818 Merge tag 'pci-v6.11-fixes-3' of git://git.kernel.org/pub/scm/../pci/pci https://lkml.org/lkml/2024/9/6/1405 commit 487ee43 Merge: a86b83f 8f62819 4 files changed, 44 insertions(+), 5 deletions(-) Merge tag 'pci-v6.11-fixes-2' of git://git.kernel.org/pub/scm/../pci/pci https://lkml.org/lkml/2024/8/30/1561 commit 8101b27 Merge: 216d163 150b572 3 files changed, 21 insertions(+), 2 deletions(-) Merge tag 'pci-v6.11-fixes-1' of git://git.kernel.org/pub/scm/../pci/pci https://lkml.org/lkml/2024/8/1/1278 commit c0ecd63 Merge: 183d46f 5560a61 2 files changed, 11 insertions(+), 8 deletions(-) Merge tag 'pci-v6.11-changes' of git://git.kernel.org/pub/scm/../pci/pci https://lkml.org/lkml/2024/7/19/844 commit 3f386cb Merge: 8e5c0ab 4565927 105 files changed, 5208 insertions(+), 1932 deletions(-) All but three of patches within the series back-ported cleanly. However, there were a few back-ports where some changes were made to the originating upstream patch due to it either not being quite up to date with more recent changes, or subsequent changes were made during its merge commit. All such occurances are noted in the back-port's commit message with the same changes that occurred upstream being made in the back-port to keep things in sync. v2: Removing back-ports of merge commit df5dd33 "Merge branch 'pci/controller/qcom'" due to prerequisite content that conflicts with other MRs. Will create a separate MR for df5dd33 once the dependent MRs have merged. JIRA: https://issues.redhat.com/browse/RHEL-59033 Signed-off-by: Myron Stowe <mstowe@redhat.com> ``` Approved-by: Andrew Halaney <ahalaney@redhat.com> Approved-by: Jarod Wilson <jarod@redhat.com> Approved-by: Mika Penttilä <mpenttil@redhat.com> Approved-by: John W. Linville <linville@redhat.com> Approved-by: Ivan Vecera <ivecera@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Rado Vrbovsky <rvrbovsk@redhat.com>
2 parents 010763e + bd9a250 commit 67448d1

Some content is hidden

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

80 files changed

+2759
-1118
lines changed

Documentation/PCI/endpoint/pci-endpoint.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ by the PCI endpoint function driver.
172172
* bind: ops to perform when a EPC device has been bound to EPF device
173173
* unbind: ops to perform when a binding has been lost between a EPC
174174
device and EPF device
175-
* linkup: ops to perform when the EPC device has established a
176-
connection with a host system
175+
* add_cfs: optional ops to create function specific configfs
176+
attributes
177177

178178
The PCI Function driver can then register the PCI EPF driver by using
179179
pci_epf_register_driver().

Documentation/PCI/pciebus-howto.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ driver data structure.
139139

140140
static struct pcie_port_service_driver root_aerdrv = {
141141
.name = (char *)device_name,
142-
.id_table = &service_id[0],
142+
.id_table = service_id,
143143

144144
.probe = aerdrv_load,
145145
.remove = aerdrv_unload,

Documentation/devicetree/bindings/pci/mediatek,mt7621-pcie.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,35 @@ description: |+
1313
MediaTek MT7621 PCIe subsys supports a single Root Complex (RC)
1414
with 3 Root Ports. Each Root Port supports a Gen1 1-lane Link
1515
16+
MT7621 PCIe HOST Topology
17+
18+
.-------.
19+
| |
20+
| CPU |
21+
| |
22+
'-------'
23+
|
24+
|
25+
|
26+
v
27+
.------------------.
28+
.-----------| HOST/PCI Bridge |------------.
29+
| '------------------' | Type1
30+
BUS0 | | | Access
31+
v v v On Bus0
32+
.-------------. .-------------. .-------------.
33+
| VIRTUAL P2P | | VIRTUAL P2P | | VIRTUAL P2P |
34+
| BUS0 | | BUS0 | | BUS0 |
35+
| DEV0 | | DEV1 | | DEV2 |
36+
'-------------' '-------------' '-------------'
37+
Type0 | Type0 | Type0 |
38+
Access BUS1 | Access BUS2| Access BUS3|
39+
On Bus1 v On Bus2 v On Bus3 v
40+
.----------. .----------. .----------.
41+
| Device 0 | | Device 0 | | Device 0 |
42+
| Func 0 | | Func 0 | | Func 0 |
43+
'----------' '----------' '----------'
44+
1645
allOf:
1746
- $ref: /schemas/pci/pci-bus.yaml#
1847

Documentation/devicetree/bindings/pci/qcom,pcie-sm8450.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ properties:
6969
- const: msi6
7070
- const: msi7
7171

72+
operating-points-v2: true
73+
opp-table:
74+
type: object
75+
7276
resets:
7377
maxItems: 1
7478

Documentation/devicetree/bindings/pci/qcom,pcie-x1e80100.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ properties:
1919
const: qcom,pcie-x1e80100
2020

2121
reg:
22-
minItems: 5
22+
minItems: 6
2323
maxItems: 6
2424

2525
reg-names:
26-
minItems: 5
2726
items:
2827
- const: parf # Qualcomm specific registers
2928
- const: dbi # DesignWare PCIe registers
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/rockchip-dw-pcie-common.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: DesignWare based PCIe RC/EP controller on Rockchip SoCs
8+
9+
maintainers:
10+
- Shawn Lin <shawn.lin@rock-chips.com>
11+
- Simon Xue <xxm@rock-chips.com>
12+
- Heiko Stuebner <heiko@sntech.de>
13+
14+
description: |+
15+
Generic properties for the DesignWare based PCIe RC/EP controller on Rockchip
16+
SoCs.
17+
18+
properties:
19+
clocks:
20+
minItems: 5
21+
items:
22+
- description: AHB clock for PCIe master
23+
- description: AHB clock for PCIe slave
24+
- description: AHB clock for PCIe dbi
25+
- description: APB clock for PCIe
26+
- description: Auxiliary clock for PCIe
27+
- description: PIPE clock
28+
- description: Reference clock for PCIe
29+
30+
clock-names:
31+
minItems: 5
32+
items:
33+
- const: aclk_mst
34+
- const: aclk_slv
35+
- const: aclk_dbi
36+
- const: pclk
37+
- const: aux
38+
- const: pipe
39+
- const: ref
40+
41+
interrupts:
42+
minItems: 5
43+
items:
44+
- description:
45+
Combined system interrupt, which is used to signal the following
46+
interrupts - phy_link_up, dll_link_up, link_req_rst_not, hp_pme,
47+
hp, hp_msi, link_auto_bw, link_auto_bw_msi, bw_mgt, bw_mgt_msi,
48+
edma_wr, edma_rd, dpa_sub_upd, rbar_update, link_eq_req, ep_elbi_app
49+
- description:
50+
Combined PM interrupt, which is used to signal the following
51+
interrupts - linkst_in_l1sub, linkst_in_l1, linkst_in_l2,
52+
linkst_in_l0s, linkst_out_l1sub, linkst_out_l1, linkst_out_l2,
53+
linkst_out_l0s, pm_dstate_update
54+
- description:
55+
Combined message interrupt, which is used to signal the following
56+
interrupts - ven_msg, unlock_msg, ltr_msg, cfg_pme, cfg_pme_msi,
57+
pm_pme, pm_to_ack, pm_turnoff, obff_idle, obff_obff, obff_cpu_active
58+
- description:
59+
Combined legacy interrupt, which is used to signal the following
60+
interrupts - inta, intb, intc, intd, tx_inta, tx_intb, tx_intc,
61+
tx_intd
62+
- description:
63+
Combined error interrupt, which is used to signal the following
64+
interrupts - aer_rc_err, aer_rc_err_msi, rx_cpl_timeout,
65+
tx_cpl_timeout, cor_err_sent, nf_err_sent, f_err_sent, cor_err_rx,
66+
nf_err_rx, f_err_rx, radm_qoverflow
67+
- description:
68+
eDMA write channel 0 interrupt
69+
- description:
70+
eDMA write channel 1 interrupt
71+
- description:
72+
eDMA read channel 0 interrupt
73+
- description:
74+
eDMA read channel 1 interrupt
75+
76+
interrupt-names:
77+
minItems: 5
78+
items:
79+
- const: sys
80+
- const: pmc
81+
- const: msg
82+
- const: legacy
83+
- const: err
84+
- const: dma0
85+
- const: dma1
86+
- const: dma2
87+
- const: dma3
88+
89+
num-lanes: true
90+
91+
phys:
92+
maxItems: 1
93+
94+
phy-names:
95+
const: pcie-phy
96+
97+
power-domains:
98+
maxItems: 1
99+
100+
resets:
101+
minItems: 1
102+
maxItems: 2
103+
104+
reset-names:
105+
oneOf:
106+
- const: pipe
107+
- items:
108+
- const: pwr
109+
- const: pipe
110+
111+
required:
112+
- compatible
113+
- reg
114+
- reg-names
115+
- clocks
116+
- clock-names
117+
- num-lanes
118+
- phys
119+
- phy-names
120+
- power-domains
121+
- resets
122+
- reset-names
123+
124+
additionalProperties: true
125+
126+
...
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/rockchip-dw-pcie-ep.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: DesignWare based PCIe Endpoint controller on Rockchip SoCs
8+
9+
maintainers:
10+
- Niklas Cassel <cassel@kernel.org>
11+
12+
description: |+
13+
RK3588 SoC PCIe Endpoint controller is based on the Synopsys DesignWare
14+
PCIe IP and thus inherits all the common properties defined in
15+
snps,dw-pcie-ep.yaml.
16+
17+
allOf:
18+
- $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
19+
- $ref: /schemas/pci/rockchip-dw-pcie-common.yaml#
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- rockchip,rk3568-pcie-ep
25+
- rockchip,rk3588-pcie-ep
26+
27+
reg:
28+
items:
29+
- description: Data Bus Interface (DBI) registers
30+
- description: Data Bus Interface (DBI) shadow registers
31+
- description: Rockchip designed configuration registers
32+
- description: Memory region used to map remote RC address space
33+
- description: Internal Address Translation Unit (iATU) registers
34+
35+
reg-names:
36+
items:
37+
- const: dbi
38+
- const: dbi2
39+
- const: apb
40+
- const: addr_space
41+
- const: atu
42+
43+
required:
44+
- interrupts
45+
- interrupt-names
46+
47+
unevaluatedProperties: false
48+
49+
examples:
50+
- |
51+
#include <dt-bindings/clock/rockchip,rk3588-cru.h>
52+
#include <dt-bindings/interrupt-controller/arm-gic.h>
53+
#include <dt-bindings/interrupt-controller/irq.h>
54+
#include <dt-bindings/power/rk3588-power.h>
55+
#include <dt-bindings/reset/rockchip,rk3588-cru.h>
56+
57+
soc {
58+
#address-cells = <2>;
59+
#size-cells = <2>;
60+
61+
pcie3x4_ep: pcie-ep@fe150000 {
62+
compatible = "rockchip,rk3588-pcie-ep";
63+
reg = <0xa 0x40000000 0x0 0x00100000>,
64+
<0xa 0x40100000 0x0 0x00100000>,
65+
<0x0 0xfe150000 0x0 0x00010000>,
66+
<0x9 0x00000000 0x0 0x40000000>,
67+
<0xa 0x40300000 0x0 0x00100000>;
68+
reg-names = "dbi", "dbi2", "apb", "addr_space", "atu";
69+
clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
70+
<&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
71+
<&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>;
72+
clock-names = "aclk_mst", "aclk_slv",
73+
"aclk_dbi", "pclk",
74+
"aux", "pipe";
75+
interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>,
76+
<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>,
77+
<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>,
78+
<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>,
79+
<GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>,
80+
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH 0>,
81+
<GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH 0>,
82+
<GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH 0>,
83+
<GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>;
84+
interrupt-names = "sys", "pmc", "msg", "legacy", "err",
85+
"dma0", "dma1", "dma2", "dma3";
86+
max-link-speed = <3>;
87+
num-lanes = <4>;
88+
phys = <&pcie30phy>;
89+
phy-names = "pcie-phy";
90+
power-domains = <&power RK3588_PD_PCIE>;
91+
resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>;
92+
reset-names = "pwr", "pipe";
93+
};
94+
};
95+
...

0 commit comments

Comments
 (0)