...
...
13
.init() callback to do the work. The ECAM layer can therefore be used
13
.init() callback to do the work. The ECAM layer can therefore be used
14
as a library instead of a convoluted driver.
14
as a library instead of a convoluted driver.
15
15
16
The rest is a mix of bug fixes, cleanups, and required abstraction.
16
The rest is a mix of bug fixes, cleanups, and required abstraction.
17
17
18
This has been tested on T6020 (M2-Pro mini) and T8102 (M1 mini).
18
This has been tested on T6020 (M2-Pro mini) and T8103 (M1 mini).
19
20
* From v2[2]:
21
22
- Fixed the DT binding with new constraints specific to t6020
23
24
- Moved the "for_each_available_node()" fix to the head of the series
25
26
- Collected, RBs, TBs, ABs (thanks!)
19
27
20
* From v1[1]:
28
* From v1[1]:
21
29
22
- Described the PHY registers in the DT binding
30
- Described the PHY registers in the DT binding
23
31
...
...
40
- Re-split some of the patches to follow a more logical progression
48
- Re-split some of the patches to follow a more logical progression
41
49
42
- General cleanup to fit my own taste
50
- General cleanup to fit my own taste
43
51
44
[1] https://lore.kernel.org/r/20250211-pcie-t6-v1-0-b60e6d2501bb@rosenzweig.io
52
[1] https://lore.kernel.org/r/20250211-pcie-t6-v1-0-b60e6d2501bb@rosenzweig.io
53
[2] https://lore.kernel.org/r/20250325102610.2073863-1-maz@kernel.org
45
54
46
Alyssa Rosenzweig (1):
55
Alyssa Rosenzweig (1):
47
dt-bindings: pci: apple,pcie: Add t6020 compatible string
56
dt-bindings: pci: apple,pcie: Add t6020 compatible string
48
57
49
Hector Martin (6):
58
Hector Martin (6):
...
...
65
PCI: apple: Move over to standalone probing
74
PCI: apple: Move over to standalone probing
66
PCI: apple: Dynamically allocate RID-to_SID bitmap
75
PCI: apple: Dynamically allocate RID-to_SID bitmap
67
PCI: apple: Move away from INTMSK{SET,CLR} for INTx and private
76
PCI: apple: Move away from INTMSK{SET,CLR} for INTx and private
68
interrupts
77
interrupts
69
78
70
.../devicetree/bindings/pci/apple,pcie.yaml | 11 +-
79
.../devicetree/bindings/pci/apple,pcie.yaml | 33 ++-
71
drivers/pci/controller/pci-host-common.c | 24 +-
80
drivers/pci/controller/pci-host-common.c | 24 +-
72
drivers/pci/controller/pcie-apple.c | 241 +++++++++++++-----
81
drivers/pci/controller/pcie-apple.c | 241 +++++++++++++-----
73
drivers/pci/ecam.c | 2 +
82
drivers/pci/ecam.c | 2 +
74
include/linux/pci-ecam.h | 2 +
83
include/linux/pci-ecam.h | 2 +
75
5 files changed, 204 insertions(+), 76 deletions(-)
84
5 files changed, 220 insertions(+), 82 deletions(-)
76
85
77
--
86
--
78
2.39.2
87
2.39.2
diff view generated by jsdifflib
1
From: Janne Grunau <j@jannau.net>
1
From: Janne Grunau <j@jannau.net>
2
2
3
Iterating over disabled ports results in of_irq_parse_raw() parsing
3
Iterating over disabled ports results in of_irq_parse_raw() parsing
4
the wrong "interrupt-map" entries, as it takes the status of the node
4
the wrong "interrupt-map" entries, as it takes the status of the node
5
into account.
5
into account.
6
6
7
This became apparent after disabling unused PCIe ports in the Apple
8
Silicon device trees instead of deleting them.
9
7
Switching from for_each_child_of_node() to for_each_available_child_of_node()
10
Switching from for_each_child_of_node() to for_each_available_child_of_node()
8
solves this issue.
11
solves this issue.
9
10
This became apparent after disabling unused PCIe ports in the Apple
11
Silicon device trees instead of deleting them.
12
12
13
Link: https://lore.kernel.org/asahi/20230214-apple_dts_pcie_disable_unused-v1-0-5ea0d3ddcde3@jannau.net/
13
Link: https://lore.kernel.org/asahi/20230214-apple_dts_pcie_disable_unused-v1-0-5ea0d3ddcde3@jannau.net/
14
Link: https://lore.kernel.org/asahi/1ea2107a-bb86-8c22-0bbc-82c453ab08ce@linaro.org/
14
Link: https://lore.kernel.org/asahi/1ea2107a-bb86-8c22-0bbc-82c453ab08ce@linaro.org/
15
Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up")
15
Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up")
16
Fixes: a0189fdfb73d ("arm64: dts: apple: t8103: Disable unused PCIe ports")
16
Cc: stable@vger.kernel.org
17
Cc: stable@vger.kernel.org
18
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
19
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
20
Tested-by: Janne Grunau <j@jannau.net>
17
Signed-off-by: Janne Grunau <j@jannau.net>
21
Signed-off-by: Janne Grunau <j@jannau.net>
18
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
22
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
19
Signed-off-by: Marc Zyngier <maz@kernel.org>
23
Signed-off-by: Marc Zyngier <maz@kernel.org>
20
---
24
---
21
drivers/pci/controller/pcie-apple.c | 2 +-
25
drivers/pci/controller/pcie-apple.c | 2 +-
...
...
24
diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c
28
diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c
25
index XXXXXXX..XXXXXXX 100644
29
index XXXXXXX..XXXXXXX 100644
26
--- a/drivers/pci/controller/pcie-apple.c
30
--- a/drivers/pci/controller/pcie-apple.c
27
+++ b/drivers/pci/controller/pcie-apple.c
31
+++ b/drivers/pci/controller/pcie-apple.c
28
@@ -XXX,XX +XXX,XX @@ static int apple_pcie_init(struct pci_config_window *cfg)
32
@@ -XXX,XX +XXX,XX @@ static int apple_pcie_init(struct pci_config_window *cfg)
29
    struct device_node *of_port;
33
    if (ret)
30
    int ret;
34
        return ret;
31
35
32
-    for_each_child_of_node(dev->of_node, of_port) {
36
-    for_each_child_of_node(dev->of_node, of_port) {
33
+    for_each_available_child_of_node(dev->of_node, of_port) {
37
+    for_each_available_child_of_node(dev->of_node, of_port) {
34
        ret = apple_pcie_setup_port(pcie, of_port);
38
        ret = apple_pcie_setup_port(pcie, of_port);
35
        if (ret) {
39
        if (ret) {
36
            dev_err(dev, "Port %pOF setup fail: %d\n", of_port, ret);
40
            dev_err(pcie->dev, "Port %pOF setup fail: %d\n", of_port, ret);
37
--
41
--
38
2.39.2
42
2.39.2
diff view generated by jsdifflib
1
From: Alyssa Rosenzweig <alyssa@rosenzweig.io>
1
From: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2
2
3
t6020 adds some register ranges compared to t8103, so requires
3
t6020 adds some register ranges compared to t8103, so requires
4
a new compatible as well as the new PHY registers themselves.
4
a new compatible as well as the new PHY registers.
5
5
6
Thanks to Mark and Rob for their helpful suggestions in updating
7
the binding.
8
9
Suggested-by: Mark Kettenis <mark.kettenis@xs4all.nl>
10
Suggested-by: Rob Herring <robh@kernel.org>
11
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
12
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
13
Tested-by: Janne Grunau <j@jannau.net>
6
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
14
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
7
[maz: added PHY registers]
15
[maz: added PHY registers, constraints]
8
Signed-off-by: Marc Zyngier <maz@kernel.org>
16
Signed-off-by: Marc Zyngier <maz@kernel.org>
9
---
17
---
10
Documentation/devicetree/bindings/pci/apple,pcie.yaml | 11 ++++++++++-
18
.../devicetree/bindings/pci/apple,pcie.yaml | 33 +++++++++++++++----
11
1 file changed, 10 insertions(+), 1 deletion(-)
19
1 file changed, 26 insertions(+), 7 deletions(-)
12
20
13
diff --git a/Documentation/devicetree/bindings/pci/apple,pcie.yaml b/Documentation/devicetree/bindings/pci/apple,pcie.yaml
21
diff --git a/Documentation/devicetree/bindings/pci/apple,pcie.yaml b/Documentation/devicetree/bindings/pci/apple,pcie.yaml
14
index XXXXXXX..XXXXXXX 100644
22
index XXXXXXX..XXXXXXX 100644
15
--- a/Documentation/devicetree/bindings/pci/apple,pcie.yaml
23
--- a/Documentation/devicetree/bindings/pci/apple,pcie.yaml
16
+++ b/Documentation/devicetree/bindings/pci/apple,pcie.yaml
24
+++ b/Documentation/devicetree/bindings/pci/apple,pcie.yaml
...
...
23
+ register range per port register range.
31
+ register range per port register range.
24
+
32
+
25
All root ports share a single ECAM space, but separate GPIOs are
33
All root ports share a single ECAM space, but separate GPIOs are
26
used to take the PCI devices on those ports out of reset. Therefore
34
used to take the PCI devices on those ports out of reset. Therefore
27
the standard "reset-gpios" and "max-link-speed" properties appear on
35
the standard "reset-gpios" and "max-link-speed" properties appear on
28
@@ -XXX,XX +XXX,XX @@ properties:
36
@@ -XXX,XX +XXX,XX @@ description: |
29
- apple,t8103-pcie
37
30
- apple,t8112-pcie
38
properties:
31
- apple,t6000-pcie
39
compatible:
32
+ - apple,t6020-pcie
40
- items:
33
- const: apple,pcie
41
- - enum:
42
- - apple,t8103-pcie
43
- - apple,t8112-pcie
44
- - apple,t6000-pcie
45
- - const: apple,pcie
46
+ oneOf:
47
+ - items:
48
+ - enum:
49
+ - apple,t8103-pcie
50
+ - apple,t8112-pcie
51
+ - apple,t6000-pcie
52
+ - const: apple,pcie
53
+ - const: apple,t6020-pcie
34
54
35
reg:
55
reg:
36
minItems: 3
56
minItems: 3
37
- maxItems: 6
57
- maxItems: 6
38
+ maxItems: 10
58
+ maxItems: 10
...
...
48
+ - const: phy2
68
+ - const: phy2
49
+ - const: phy3
69
+ - const: phy3
50
70
51
ranges:
71
ranges:
52
minItems: 2
72
minItems: 2
73
@@ -XXX,XX +XXX,XX @@ allOf:
74
maxItems: 5
75
interrupts:
76
maxItems: 3
77
+ - if:
78
+ properties:
79
+ compatible:
80
+ contains:
81
+ const: apple,t6020-pcie
82
+ then:
83
+ properties:
84
+ reg-names:
85
+ minItems: 10
86
87
examples:
88
- |
53
--
89
--
54
2.39.2
90
2.39.2
diff view generated by jsdifflib
...
...
16
This can then be called from the probe routine, and a lot of the
16
This can then be called from the probe routine, and a lot of the
17
code that isn't relevant to PCI setup moved away from the .init()
17
code that isn't relevant to PCI setup moved away from the .init()
18
callback. This also removes the dependency on the device match
18
callback. This also removes the dependency on the device match
19
data, which is an oddity.
19
data, which is an oddity.
20
20
21
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
22
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
23
Tested-by: Janne Grunau <j@jannau.net>
21
Signed-off-by: Marc Zyngier <maz@kernel.org>
24
Signed-off-by: Marc Zyngier <maz@kernel.org>
22
---
25
---
23
drivers/pci/controller/pci-host-common.c | 24 ++++++++++++++++--------
26
drivers/pci/controller/pci-host-common.c | 24 ++++++++++++++++--------
24
include/linux/pci-ecam.h | 2 ++
27
include/linux/pci-ecam.h | 2 ++
25
2 files changed, 18 insertions(+), 8 deletions(-)
28
2 files changed, 18 insertions(+), 8 deletions(-)
...
...
diff view generated by jsdifflib
...
...
6
particular callback to have access to probe data.
6
particular callback to have access to probe data.
7
7
8
This should have no impact on existing code which ignores the
8
This should have no impact on existing code which ignores the
9
current value of cfg->priv.
9
current value of cfg->priv.
10
10
11
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
12
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
13
Tested-by: Janne Grunau <j@jannau.net>
11
Signed-off-by: Marc Zyngier <maz@kernel.org>
14
Signed-off-by: Marc Zyngier <maz@kernel.org>
12
---
15
---
13
drivers/pci/ecam.c | 2 ++
16
drivers/pci/ecam.c | 2 ++
14
1 file changed, 2 insertions(+)
17
1 file changed, 2 insertions(+)
15
18
...
...
diff view generated by jsdifflib
...
...
7
probe routine, which will eventually call into the host-common
7
probe routine, which will eventually call into the host-common
8
code
8
code
9
9
10
The result is a far more logical setup process.
10
The result is a far more logical setup process.
11
11
12
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
13
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
14
Tested-by: Janne Grunau <j@jannau.net>
12
Signed-off-by: Marc Zyngier <maz@kernel.org>
15
Signed-off-by: Marc Zyngier <maz@kernel.org>
13
---
16
---
14
drivers/pci/controller/pcie-apple.c | 54 ++++++++++++++++-------------
17
drivers/pci/controller/pcie-apple.c | 54 ++++++++++++++++-------------
15
1 file changed, 30 insertions(+), 24 deletions(-)
18
1 file changed, 30 insertions(+), 24 deletions(-)
16
19
...
...
46
-
49
-
47
-    ret = apple_msi_init(pcie);
50
-    ret = apple_msi_init(pcie);
48
-    if (ret)
51
-    if (ret)
49
-        return ret;
52
-        return ret;
50
-
53
-
51
    for_each_child_of_node(dev->of_node, of_port) {
54
    for_each_available_child_of_node(dev->of_node, of_port) {
52
        ret = apple_pcie_setup_port(pcie, of_port);
55
        ret = apple_pcie_setup_port(pcie, of_port);
53
        if (ret) {
56
        if (ret) {
54
-            dev_err(pcie->dev, "Port %pOF setup fail: %d\n", of_port, ret);
57
-            dev_err(pcie->dev, "Port %pOF setup fail: %d\n", of_port, ret);
55
+            dev_err(dev, "Port %pOF setup fail: %d\n", of_port, ret);
58
+            dev_err(dev, "Port %pOF setup fail: %d\n", of_port, ret);
56
            of_node_put(of_port);
59
            of_node_put(of_port);
...
...
diff view generated by jsdifflib
1
As we move towards supporting SoCs with varying RID-to-SID mapping
1
As we move towards supporting SoCs with varying RID-to-SID mapping
2
capabilities, turn the static SID tracking bitmap into a dynamically
2
capabilities, turn the static SID tracking bitmap into a dynamically
3
allocated one. The current allocation size is still the same, but
3
allocated one. The current allocation size is still the same, but
4
that's about to change.
4
that's about to change.
5
5
6
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
7
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
8
Tested-by: Janne Grunau <j@jannau.net>
6
Signed-off-by: Marc Zyngier <maz@kernel.org>
9
Signed-off-by: Marc Zyngier <maz@kernel.org>
7
---
10
---
8
drivers/pci/controller/pcie-apple.c | 6 +++++-
11
drivers/pci/controller/pcie-apple.c | 6 +++++-
9
1 file changed, 5 insertions(+), 1 deletion(-)
12
1 file changed, 5 insertions(+), 1 deletion(-)
10
13
...
...
diff view generated by jsdifflib
1
T602x seems to have dropped the rather useful SET/CLR accessors
1
T602x seems to have dropped the rather useful SET/CLR accessors
2
to the masking register.
2
to the masking register.
3
3
4
Instead, let's use the mask register directly, and wrap it with
4
Instead, let's use the mask register directly, and wrap it with
5
a brand new spinlock. No, this isn't moving in the right direction.
5
a brand new spinlock. No, this isn't moving in the right direction.
6
6
7
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
8
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Tested-by: Janne Grunau <j@jannau.net>
7
Signed-off-by: Marc Zyngier <maz@kernel.org>
10
Signed-off-by: Marc Zyngier <maz@kernel.org>
8
---
11
---
9
drivers/pci/controller/pcie-apple.c | 11 ++++++++---
12
drivers/pci/controller/pcie-apple.c | 11 ++++++++---
10
1 file changed, 8 insertions(+), 3 deletions(-)
13
1 file changed, 8 insertions(+), 3 deletions(-)
11
14
...
...
diff view generated by jsdifflib
1
From: Hector Martin <marcan@marcan.st>
1
From: Hector Martin <marcan@marcan.st>
2
2
3
In the success path, we hang onto a reference to the node, so make sure
3
In the success path, we hang onto a reference to the node, so make sure
4
to grab one. The caller iterator puts our borrowed reference when we
4
to grab one. The caller iterator puts our borrowed reference when we
5
return.
5
return.
6
6
7
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
8
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Tested-by: Janne Grunau <j@jannau.net>
7
Signed-off-by: Hector Martin <marcan@marcan.st>
10
Signed-off-by: Hector Martin <marcan@marcan.st>
8
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
11
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Signed-off-by: Marc Zyngier <maz@kernel.org>
12
Signed-off-by: Marc Zyngier <maz@kernel.org>
10
---
13
---
11
drivers/pci/controller/pcie-apple.c | 3 +++
14
drivers/pci/controller/pcie-apple.c | 3 +++
...
...
diff view generated by jsdifflib
...
...
8
8
9
Note that we open code devm_platform_ioremap_resource_byname() to avoid
9
Note that we open code devm_platform_ioremap_resource_byname() to avoid
10
error messages on older platforms with missing resources in the pcie
10
error messages on older platforms with missing resources in the pcie
11
node. ("pcie-apple 590000000.pcie: invalid resource (null)" on probe)
11
node. ("pcie-apple 590000000.pcie: invalid resource (null)" on probe)
12
12
13
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
14
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
15
Tested-by: Janne Grunau <j@jannau.net>
13
Co-developed-by: Janne Grunau <j@jannau.net>
16
Co-developed-by: Janne Grunau <j@jannau.net>
14
Signed-off-by: Janne Grunau <j@jannau.net>
17
Signed-off-by: Janne Grunau <j@jannau.net>
15
Signed-off-by: Hector Martin <marcan@marcan.st>
18
Signed-off-by: Hector Martin <marcan@marcan.st>
16
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
19
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
17
Signed-off-by: Marc Zyngier <maz@kernel.org>
20
Signed-off-by: Marc Zyngier <maz@kernel.org>
...
...
diff view generated by jsdifflib
...
...
3
This is checking a core refclk in per-port setup which doesn't make a
3
This is checking a core refclk in per-port setup which doesn't make a
4
lot of sense, and the bootloader needs to have gone through this anyway.
4
lot of sense, and the bootloader needs to have gone through this anyway.
5
5
6
It doesn't work on T602x, so just drop it across the board.
6
It doesn't work on T602x, so just drop it across the board.
7
7
8
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
9
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
10
Tested-by: Janne Grunau <j@jannau.net>
8
Signed-off-by: Hector Martin <marcan@marcan.st>
11
Signed-off-by: Hector Martin <marcan@marcan.st>
9
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
12
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
10
Signed-off-by: Marc Zyngier <maz@kernel.org>
13
Signed-off-by: Marc Zyngier <maz@kernel.org>
11
---
14
---
12
drivers/pci/controller/pcie-apple.c | 6 ------
15
drivers/pci/controller/pcie-apple.c | 6 ------
...
...
diff view generated by jsdifflib
1
From: Hector Martin <marcan@marcan.st>
1
From: Hector Martin <marcan@marcan.st>
2
2
3
We're allowed to sleep here, so tell the GPIO core by using
3
We're allowed to sleep here, so tell the GPIO core by using
4
gpiod_set_value_cansleep instead of gpiod_set_value.
4
gpiod_set_value_cansleep instead of gpiod_set_value.
5
5
6
Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up")
6
Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up")
7
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
8
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Tested-by: Janne Grunau <j@jannau.net>
7
Signed-off-by: Hector Martin <marcan@marcan.st>
10
Signed-off-by: Hector Martin <marcan@marcan.st>
8
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
11
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Signed-off-by: Marc Zyngier <maz@kernel.org>
12
Signed-off-by: Marc Zyngier <maz@kernel.org>
10
---
13
---
11
drivers/pci/controller/pcie-apple.c | 4 ++--
14
drivers/pci/controller/pcie-apple.c | 4 ++--
...
...
diff view generated by jsdifflib
...
...
5
5
6
In order to embrace this diversity of implementations, move the
6
In order to embrace this diversity of implementations, move the
7
currently hardcoded offsets into a hw_info structure. Future SoCs
7
currently hardcoded offsets into a hw_info structure. Future SoCs
8
will provide their own structure describing the applicable offsets.
8
will provide their own structure describing the applicable offsets.
9
9
10
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
11
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
12
Tested-by: Janne Grunau <j@jannau.net>
10
Signed-off-by: Hector Martin <marcan@marcan.st>
13
Signed-off-by: Hector Martin <marcan@marcan.st>
11
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
14
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
12
[maz: split from original patch to only address T8103]
15
[maz: split from original patch to only address T8103]
13
Signed-off-by: Marc Zyngier <maz@kernel.org>
16
Signed-off-by: Marc Zyngier <maz@kernel.org>
14
---
17
---
...
...
diff view generated by jsdifflib
1
From: Hector Martin <marcan@marcan.st>
1
From: Hector Martin <marcan@marcan.st>
2
2
3
This version of the hardware moved around a bunch of registers, so we
3
This version of the hardware moved around a bunch of registers, so we
4
avoid the old compatible for these and introduce register offset
4
avoid the old compatible for these and introduce register offset
5
structures to handle the differences.
5
structures to handle the differences.
6
6
7
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
8
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Tested-by: Janne Grunau <j@jannau.net>
7
Signed-off-by: Hector Martin <marcan@marcan.st>
10
Signed-off-by: Hector Martin <marcan@marcan.st>
8
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
11
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9
Signed-off-by: Marc Zyngier <maz@kernel.org>
12
Signed-off-by: Marc Zyngier <maz@kernel.org>
10
---
13
---
11
drivers/pci/controller/pcie-apple.c | 21 +++++++++++++++++++++
14
drivers/pci/controller/pcie-apple.c | 21 +++++++++++++++++++++
...
...
diff view generated by jsdifflib