Skip to content

Commit 4543f82

Browse files
committed
Merge: Update kernel's PCI subsystem to v6.3
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2269 ``` This series updates RHEL9's PCI subsystem with content from upstream v6.3 - https://https://lkml.org/lkml/2023/02/22/925 commit 90ddb3f Merge: 8cbd923 3eb5d0f Merge tag 'pci-v6.3-changes' of git://git.kernel.org/pub/scm/../pci/pci 66 files changed, 1573 insertions(+), 814 deletions(-) All patches within the series back-ported cleanly. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2179137 Depends: N/A Signed-off-by: Myron Stowe <mstowe@redhat.com> ``` Approved-by: Jerry Snitselaar <jsnitsel@redhat.com> Approved-by: Andrew Halaney <ahalaney@redhat.com> Approved-by: John W. Linville <linville@redhat.com> Signed-off-by: Jan Stancek <jstancek@redhat.com>
2 parents d84e5ac + 5471ad9 commit 4543f82

Some content is hidden

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

69 files changed

+1512
-800
lines changed

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4119,7 +4119,9 @@
41194119
specified, e.g., 12@pci:8086:9c22:103c:198f
41204120
for 4096-byte alignment.
41214121
ecrc= Enable/disable PCIe ECRC (transaction layer
4122-
end-to-end CRC checking).
4122+
end-to-end CRC checking). Only effective if
4123+
OS has native AER control (either granted by
4124+
ACPI _OSC or forced via "pcie_ports=native")
41234125
bios: Use BIOS/firmware settings. This is the
41244126
the default.
41254127
off: Turn ECRC off

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ properties:
2424
- fsl,imx8mq-pcie
2525
- fsl,imx8mm-pcie
2626
- fsl,imx8mp-pcie
27+
- fsl,imx8mm-pcie-ep
28+
- fsl,imx8mq-pcie-ep
29+
- fsl,imx8mp-pcie-ep
2730

2831
reg:
2932
items:

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@ properties:
4747
enable registers
4848
$ref: "/schemas/types.yaml#/definitions/phandle-array"
4949
items:
50-
minItems: 3
51-
maxItems: 3
50+
- items:
51+
- description: Syscon to TCSR system registers
52+
- description: Perst enable offset
53+
- description: Perst separation enable offset
5254

5355
interrupts:
5456
items:

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

Lines changed: 67 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,31 @@ description: |
1616
1717
properties:
1818
compatible:
19-
enum:
20-
- qcom,pcie-ipq8064
21-
- qcom,pcie-ipq8064-v2
22-
- qcom,pcie-apq8064
23-
- qcom,pcie-apq8084
24-
- qcom,pcie-msm8996
25-
- qcom,pcie-ipq4019
26-
- qcom,pcie-ipq8074
27-
- qcom,pcie-qcs404
28-
- qcom,pcie-sa8540p
29-
- qcom,pcie-sc7280
30-
- qcom,pcie-sc8180x
31-
- qcom,pcie-sc8280xp
32-
- qcom,pcie-sdm845
33-
- qcom,pcie-sm8150
34-
- qcom,pcie-sm8250
35-
- qcom,pcie-sm8450-pcie0
36-
- qcom,pcie-sm8450-pcie1
37-
- qcom,pcie-ipq6018
19+
oneOf:
20+
- enum:
21+
- qcom,pcie-apq8064
22+
- qcom,pcie-apq8084
23+
- qcom,pcie-ipq4019
24+
- qcom,pcie-ipq6018
25+
- qcom,pcie-ipq8064
26+
- qcom,pcie-ipq8064-v2
27+
- qcom,pcie-ipq8074
28+
- qcom,pcie-ipq8074-gen3
29+
- qcom,pcie-msm8996
30+
- qcom,pcie-qcs404
31+
- qcom,pcie-sa8540p
32+
- qcom,pcie-sc7280
33+
- qcom,pcie-sc8180x
34+
- qcom,pcie-sc8280xp
35+
- qcom,pcie-sdm845
36+
- qcom,pcie-sm8150
37+
- qcom,pcie-sm8250
38+
- qcom,pcie-sm8350
39+
- qcom,pcie-sm8450-pcie0
40+
- qcom,pcie-sm8450-pcie1
41+
- items:
42+
- const: qcom,pcie-msm8998
43+
- const: qcom,pcie-msm8996
3844

3945
reg:
4046
minItems: 4
@@ -153,6 +159,7 @@ allOf:
153159
contains:
154160
enum:
155161
- qcom,pcie-ipq6018
162+
- qcom,pcie-ipq8074-gen3
156163
then:
157164
properties:
158165
reg:
@@ -195,6 +202,7 @@ allOf:
195202
- qcom,pcie-sc8180x
196203
- qcom,pcie-sc8280xp
197204
- qcom,pcie-sm8250
205+
- qcom,pcie-sm8350
198206
- qcom,pcie-sm8450-pcie0
199207
- qcom,pcie-sm8450-pcie1
200208
then:
@@ -312,27 +320,17 @@ allOf:
312320
enum:
313321
- qcom,pcie-msm8996
314322
then:
315-
oneOf:
316-
- properties:
317-
clock-names:
318-
items:
319-
- const: pipe # Pipe Clock driving internal logic
320-
- const: aux # Auxiliary (AUX) clock
321-
- const: cfg # Configuration clock
322-
- const: bus_master # Master AXI clock
323-
- const: bus_slave # Slave AXI clock
324-
- properties:
325-
clock-names:
326-
items:
327-
- const: pipe # Pipe Clock driving internal logic
328-
- const: bus_master # Master AXI clock
329-
- const: bus_slave # Slave AXI clock
330-
- const: cfg # Configuration clock
331-
- const: aux # Auxiliary (AUX) clock
332323
properties:
333324
clocks:
334325
minItems: 5
335326
maxItems: 5
327+
clock-names:
328+
items:
329+
- const: pipe # Pipe Clock driving internal logic
330+
- const: aux # Auxiliary (AUX) clock
331+
- const: cfg # Configuration clock
332+
- const: bus_master # Master AXI clock
333+
- const: bus_slave # Slave AXI clock
336334
resets: false
337335
reset-names: false
338336

@@ -373,6 +371,7 @@ allOf:
373371
contains:
374372
enum:
375373
- qcom,pcie-ipq6018
374+
- qcom,pcie-ipq8074-gen3
376375
then:
377376
properties:
378377
clocks:
@@ -550,6 +549,35 @@ allOf:
550549
items:
551550
- const: pci # PCIe core reset
552551

552+
- if:
553+
properties:
554+
compatible:
555+
contains:
556+
enum:
557+
- qcom,pcie-sm8350
558+
then:
559+
properties:
560+
clocks:
561+
minItems: 8
562+
maxItems: 9
563+
clock-names:
564+
minItems: 8
565+
items:
566+
- const: aux # Auxiliary clock
567+
- const: cfg # Configuration clock
568+
- const: bus_master # Master AXI clock
569+
- const: bus_slave # Slave AXI clock
570+
- const: slave_q2a # Slave Q2A clock
571+
- const: tbu # PCIe TBU clock
572+
- const: ddrss_sf_tbu # PCIe SF TBU clock
573+
- const: aggre1 # Aggre NoC PCIe1 AXI clock
574+
- const: aggre0 # Aggre NoC PCIe0 AXI clock
575+
resets:
576+
maxItems: 1
577+
reset-names:
578+
items:
579+
- const: pci # PCIe core reset
580+
553581
- if:
554582
properties:
555583
compatible:
@@ -664,6 +692,7 @@ allOf:
664692
- qcom,pcie-ipq8064
665693
- qcom,pcie-ipq8064v2
666694
- qcom,pcie-ipq8074
695+
- qcom,pcie-ipq8074-gen3
667696
- qcom,pcie-qcs404
668697
then:
669698
required:
@@ -692,6 +721,7 @@ allOf:
692721
- qcom,pcie-sdm845
693722
- qcom,pcie-sm8150
694723
- qcom,pcie-sm8250
724+
- qcom,pcie-sm8350
695725
- qcom,pcie-sm8450-pcie0
696726
- qcom,pcie-sm8450-pcie1
697727
then:
@@ -746,6 +776,7 @@ allOf:
746776
- qcom,pcie-ipq8064
747777
- qcom,pcie-ipq8064-v2
748778
- qcom,pcie-ipq8074
779+
- qcom,pcie-ipq8074-gen3
749780
- qcom,pcie-qcs404
750781
- qcom,pcie-sa8540p
751782
then:

Documentation/devicetree/bindings/pci/socionext,uniphier-pcie-ep.yaml

Lines changed: 49 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ description: |
1515
maintainers:
1616
- Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
1717

18-
allOf:
19-
- $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
20-
2118
properties:
2219
compatible:
2320
enum:
@@ -29,40 +26,25 @@ properties:
2926
maxItems: 5
3027

3128
reg-names:
32-
oneOf:
33-
- items:
34-
- const: dbi
35-
- const: dbi2
36-
- const: link
37-
- const: addr_space
38-
- items:
39-
- const: dbi
40-
- const: dbi2
41-
- const: link
42-
- const: addr_space
43-
- const: atu
29+
minItems: 4
30+
items:
31+
- const: dbi
32+
- const: dbi2
33+
- const: link
34+
- const: addr_space
35+
- const: atu
4436

4537
clocks:
4638
minItems: 1
4739
maxItems: 2
4840

49-
clock-names:
50-
oneOf:
51-
- items: # for Pro5
52-
- const: gio
53-
- const: link
54-
- const: link # for NX1
41+
clock-names: true
5542

5643
resets:
5744
minItems: 1
5845
maxItems: 2
5946

60-
reset-names:
61-
oneOf:
62-
- items: # for Pro5
63-
- const: gio
64-
- const: link
65-
- const: link # for NX1
47+
reset-names: true
6648

6749
num-ib-windows:
6850
const: 16
@@ -78,6 +60,46 @@ properties:
7860
phy-names:
7961
const: pcie-phy
8062

63+
allOf:
64+
- $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
65+
- if:
66+
properties:
67+
compatible:
68+
contains:
69+
const: socionext,uniphier-pro5-pcie-ep
70+
then:
71+
properties:
72+
reg:
73+
maxItems: 4
74+
reg-names:
75+
maxItems: 4
76+
clocks:
77+
minItems: 2
78+
clock-names:
79+
items:
80+
- const: gio
81+
- const: link
82+
resets:
83+
minItems: 2
84+
reset-names:
85+
items:
86+
- const: gio
87+
- const: link
88+
else:
89+
properties:
90+
reg:
91+
minItems: 5
92+
reg-names:
93+
minItems: 5
94+
clocks:
95+
maxItems: 1
96+
clock-names:
97+
const: link
98+
resets:
99+
maxItems: 1
100+
reset-names:
101+
const: link
102+
81103
required:
82104
- compatible
83105
- reg

drivers/acpi/device_pm.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,25 @@ void acpi_dev_power_up_children_with_adr(struct acpi_device *adev)
478478
acpi_dev_for_each_child(adev, acpi_power_up_if_adr_present, NULL);
479479
}
480480

481+
/**
482+
* acpi_dev_power_state_for_wake - Deepest power state for wakeup signaling
483+
* @adev: ACPI companion of the target device.
484+
*
485+
* Evaluate _S0W for @adev and return the value produced by it or return
486+
* ACPI_STATE_UNKNOWN on errors (including _S0W not present).
487+
*/
488+
u8 acpi_dev_power_state_for_wake(struct acpi_device *adev)
489+
{
490+
unsigned long long state;
491+
acpi_status status;
492+
493+
status = acpi_evaluate_integer(adev->handle, "_S0W", NULL, &state);
494+
if (ACPI_FAILURE(status))
495+
return ACPI_STATE_UNKNOWN;
496+
497+
return state;
498+
}
499+
481500
#ifdef CONFIG_PM
482501
static DEFINE_MUTEX(acpi_pm_notifier_lock);
483502
static DEFINE_MUTEX(acpi_pm_notifier_install_lock);

drivers/dma/dw-edma/Kconfig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ config DW_EDMA
99
Support the Synopsys DesignWare eDMA controller, normally
1010
implemented on endpoints SoCs.
1111

12+
if DW_EDMA
13+
1214
config DW_EDMA_PCIE
1315
tristate "Synopsys DesignWare eDMA PCIe driver"
1416
depends on PCI && PCI_MSI
15-
select DW_EDMA
1617
help
1718
Provides a glue-logic between the Synopsys DesignWare
1819
eDMA controller and an endpoint PCIe device. This also serves
1920
as a reference design to whom desires to use this IP.
21+
22+
endif # DW_EDMA

0 commit comments

Comments
 (0)