> -----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. > 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 > >