Re: [PATCH net-next v7 08/10] powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G

From: Sean Anderson
Date: Fri Oct 28 2022 - 12:55:55 EST


On 10/28/22 12:30, Camelia Alexandra Groza wrote:
-----Original Message-----
From: Sean Anderson <sean.anderson@xxxxxxxx>
Sent: Monday, October 17, 2022 23:23
To: David S . Miller <davem@xxxxxxxxxxxxx>; Jakub Kicinski
<kuba@xxxxxxxxxx>; Madalin Bucur <madalin.bucur@xxxxxxx>; Camelia
Alexandra Groza <camelia.groza@xxxxxxx>; netdev@xxxxxxxxxxxxxxx
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>; linuxppc-dev @ lists . ozlabs .
org <linuxppc-dev@xxxxxxxxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
linux-kernel@xxxxxxxxxxxxxxx; Russell King <linux@xxxxxxxxxxxxxxx>; Paolo
Abeni <pabeni@xxxxxxxxxx>; Sean Anderson <sean.anderson@xxxxxxxx>;
Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>; Krzysztof Kozlowski
<krzysztof.kozlowski+dt@xxxxxxxxxx>; Leo Li <leoyang.li@xxxxxxx>; Michael
Ellerman <mpe@xxxxxxxxxxxxxx>; Paul Mackerras <paulus@xxxxxxxxx>; Rob
Herring <robh+dt@xxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx
Subject: [PATCH net-next v7 08/10] powerpc: dts: t208x: Mark MAC1 and
MAC2 as 10G

On the T208X SoCs, MAC1 and MAC2 support XGMII. Add some new MAC
dtsi
fragments, and mark the QMAN ports as 10G.

Fixes: da414bb923d9 ("powerpc/mpc85xx: Add FSL QorIQ DPAA FMan
support to the SoC device tree(s)")
Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxx>
---

(no changes since v4)

Changes in v4:
- New

Hi Sean,

These changes prevent MAC2 from probing on T2080RDB due to insufficient FMan hardware resources.

fsl-fman ffe400000.fman: set_num_of_tasks: Requested num_of_tasks and extra tasks pool for fm0 exceed total num_of_tasks.
fsl_dpa: dpaa_eth_init_tx_port: fm_port_init failed
fsl_dpa: probe of dpaa-ethernet.5 failed with error -11

The distribution of resources depends on the port type, and different FMan hardware revisions have different amounts of resources.

The current distribution of resources can be reconsidered, but this change should be reverted for now.

OK, so this patch does two things:

@@ -37,12 +11,14 @@
cell-index = <0x8>;
compatible = "fsl,fman-v3-port-rx";
reg = <0x88000 0x1000>;
+ fsl,fman-10g-port;
};
fman0_tx_0x28: port@a8000 {
cell-index = <0x28>;
compatible = "fsl,fman-v3-port-tx";
reg = <0xa8000 0x1000>;
+ fsl,fman-10g-port;
};
ethernet@e0000 {
@@ -52,7 +28,7 @@
fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy0>, <&pcsphy0>;
- pcs-handle-names = "sgmii", "qsgmii";
+ pcs-handle-names = "sgmii", "xfi";
};
mdio@e1000 {

First, it marks the ports as 10g. I believe this is what's causing the
resource problems above. Second, it removes support for QSGMII and adds
support for XFI. This is a matter of correctness; these MACs really
don't support QSGMII, and do support XFI. As I understand it, you can
run a 10g port at 1g speeds, it just won't perform as well. So I think a
more minimal revert would be to delete the fsl,fman-10g-port properties
in t2081si-post.dtsi.

That said, is 10g even being used on these ports? I included this patch
in order to avoid breaking any existing users.

--Sean

Regards,
Camelia


.../boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi | 44 +++++++++++++++++++
.../boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi | 44 +++++++++++++++++++
arch/powerpc/boot/dts/fsl/t2081si-post.dtsi | 4 +-
3 files changed, 90 insertions(+), 2 deletions(-)
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi
b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi
new file mode 100644
index 000000000000..437dab3fc017
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
+/*
+ * QorIQ FMan v3 10g port #2 device tree stub [ controller @ offset
0x400000 ]
+ *
+ * Copyright 2022 Sean Anderson <sean.anderson@xxxxxxxx>
+ * Copyright 2012 - 2015 Freescale Semiconductor Inc.
+ */
+
+fman@400000 {
+ fman0_rx_0x08: port@88000 {
+ cell-index = <0x8>;
+ compatible = "fsl,fman-v3-port-rx";
+ reg = <0x88000 0x1000>;
+ fsl,fman-10g-port;
+ };
+
+ fman0_tx_0x28: port@a8000 {
+ cell-index = <0x28>;
+ compatible = "fsl,fman-v3-port-tx";
+ reg = <0xa8000 0x1000>;
+ fsl,fman-10g-port;
+ };
+
+ ethernet@e0000 {
+ cell-index = <0>;
+ compatible = "fsl,fman-memac";
+ reg = <0xe0000 0x1000>;
+ fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
+ ptp-timer = <&ptp_timer0>;
+ pcsphy-handle = <&pcsphy0>;
+ };
+
+ mdio@e1000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+ reg = <0xe1000 0x1000>;
+ fsl,erratum-a011043; /* must ignore read errors */
+
+ pcsphy0: ethernet-phy@0 {
+ reg = <0x0>;
+ };
+ };
+};
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi
b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi
new file mode 100644
index 000000000000..ad116b17850a
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
+/*
+ * QorIQ FMan v3 10g port #3 device tree stub [ controller @ offset
0x400000 ]
+ *
+ * Copyright 2022 Sean Anderson <sean.anderson@xxxxxxxx>
+ * Copyright 2012 - 2015 Freescale Semiconductor Inc.
+ */
+
+fman@400000 {
+ fman0_rx_0x09: port@89000 {
+ cell-index = <0x9>;
+ compatible = "fsl,fman-v3-port-rx";
+ reg = <0x89000 0x1000>;
+ fsl,fman-10g-port;
+ };
+
+ fman0_tx_0x29: port@a9000 {
+ cell-index = <0x29>;
+ compatible = "fsl,fman-v3-port-tx";
+ reg = <0xa9000 0x1000>;
+ fsl,fman-10g-port;
+ };
+
+ ethernet@e2000 {
+ cell-index = <1>;
+ compatible = "fsl,fman-memac";
+ reg = <0xe2000 0x1000>;
+ fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
+ ptp-timer = <&ptp_timer0>;
+ pcsphy-handle = <&pcsphy1>;
+ };
+
+ mdio@e3000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+ reg = <0xe3000 0x1000>;
+ fsl,erratum-a011043; /* must ignore read errors */
+
+ pcsphy1: ethernet-phy@0 {
+ reg = <0x0>;
+ };
+ };
+};
diff --git a/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
b/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
index ecbb447920bc..74e17e134387 100644
--- a/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
@@ -609,8 +609,8 @@ usb1: usb@211000 {
/include/ "qoriq-bman1.dtsi"

/include/ "qoriq-fman3-0.dtsi"
-/include/ "qoriq-fman3-0-1g-0.dtsi"
-/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-10g-2.dtsi"
+/include/ "qoriq-fman3-0-10g-3.dtsi"
/include/ "qoriq-fman3-0-1g-2.dtsi"
/include/ "qoriq-fman3-0-1g-3.dtsi"
/include/ "qoriq-fman3-0-1g-4.dtsi"
--
2.35.1.1320.gc452695387.dirty