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

From: Sean Anderson
Date: Mon Oct 31 2022 - 18:20:13 EST


On 10/31/22 10:12, Camelia Alexandra Groza wrote:
>> -----Original Message-----
>> From: Sean Anderson <sean.anderson@xxxxxxxx>
>> Sent: Friday, October 28, 2022 19:55
>> To: Camelia Alexandra Groza <camelia.groza@xxxxxxx>; Sean Anderson
>> <sean.anderson@xxxxxxxx>; David S . Miller <davem@xxxxxxxxxxxxx>;
>> Jakub Kicinski <kuba@xxxxxxxxxx>; Madalin Bucur
>> <madalin.bucur@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>; 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: Re: [PATCH net-next v7 08/10] powerpc: dts: t208x: Mark MAC1 and
>> MAC2 as 10G
>>
>> 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.
>
> That's right.
>
>> 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.
>
> Correct, these MACs don't support QSGMII on this SoC.
>
>> 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.
>
> Since these two new dtsi files are included by only one SoC, I don't see an
> advantage in adding these properties and then deleting them. No other
> users benefit from adding them in the first place.

OK, so would you prefer just overriding pcs-handle-names in the SoC dtsi?

--Sean

>> That said, is 10g even being used on these ports? I included this patch
>> in order to avoid breaking any existing users.
>
> It is used, though less efficiently, with fewer FMan hardware resources.
>
> Camelia
>
>> --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
>> >
>