mbox series

[net,0/3] net: fsl/fman: address erratum A011043

Message ID 1579699229-5948-1-git-send-email-madalin.bucur@oss.nxp.com
Headers show
Series net: fsl/fman: address erratum A011043 | expand

Message

Madalin Bucur (OSS) Jan. 22, 2020, 1:20 p.m. UTC
This addresses a HW erratum on some QorIQ DPAA devices.

MDIO reads to internal PCS registers may result in having
the MDIO_CFG[MDIO_RD_ER] bit set, even when there is no
error and read data (MDIO_DATA[MDIO_DATA]) is correct.
Software may get false read error when reading internal
PCS registers through MDIO. As a workaround, all internal
MDIO accesses should ignore the MDIO_CFG[MDIO_RD_ER] bit.
When the issue was present, one could see such errors
during boot:

  mdio_bus ffe4e5000: Error while reading PHY0 reg at 3.3

Madalin Bucur (3):
  dt-bindings: net: add fsl,erratum-a011043
  powerpc/fsl/dts: add fsl,erratum-a011043
  net/fsl: treat fsl,erratum-a011043

 Documentation/devicetree/bindings/net/fsl-fman.txt          | 13 +++++++++++++
 .../boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi       |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi          |  1 +
 .../boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi       |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi          |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi          |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi          |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi           |  1 +
 arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi           |  1 +
 drivers/net/ethernet/freescale/xgmac_mdio.c                 |  7 ++++++-
 20 files changed, 37 insertions(+), 1 deletion(-)

Comments

David Miller Jan. 23, 2020, 8:17 p.m. UTC | #1
From: Madalin Bucur <madalin.bucur@oss.nxp.com>
Date: Wed, 22 Jan 2020 15:20:26 +0200

> This addresses a HW erratum on some QorIQ DPAA devices.
> 
> MDIO reads to internal PCS registers may result in having
> the MDIO_CFG[MDIO_RD_ER] bit set, even when there is no
> error and read data (MDIO_DATA[MDIO_DATA]) is correct.
> Software may get false read error when reading internal
> PCS registers through MDIO. As a workaround, all internal
> MDIO accesses should ignore the MDIO_CFG[MDIO_RD_ER] bit.
> When the issue was present, one could see such errors
> during boot:
> 
>   mdio_bus ffe4e5000: Error while reading PHY0 reg at 3.3

Series applied.
Florian Fainelli Jan. 23, 2020, 9:09 p.m. UTC | #2
On 1/22/20 5:20 AM, Madalin Bucur wrote:
> This addresses a HW erratum on some QorIQ DPAA devices.
> 
> MDIO reads to internal PCS registers may result in having
> the MDIO_CFG[MDIO_RD_ER] bit set, even when there is no
> error and read data (MDIO_DATA[MDIO_DATA]) is correct.
> Software may get false read error when reading internal
> PCS registers through MDIO. As a workaround, all internal
> MDIO accesses should ignore the MDIO_CFG[MDIO_RD_ER] bit.
> When the issue was present, one could see such errors
> during boot:
> 
>   mdio_bus ffe4e5000: Error while reading PHY0 reg at 3.3

Did you consider using the standard broken-turn-around property/support
and set your mii_bus::phy_ignore_ta_mask to all relevant bits?


> 
> Madalin Bucur (3):
>   dt-bindings: net: add fsl,erratum-a011043
>   powerpc/fsl/dts: add fsl,erratum-a011043
>   net/fsl: treat fsl,erratum-a011043
> 
>  Documentation/devicetree/bindings/net/fsl-fman.txt          | 13 +++++++++++++
>  .../boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi       |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi          |  1 +
>  .../boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi       |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi          |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi          |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi          |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi           |  1 +
>  arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi           |  1 +
>  drivers/net/ethernet/freescale/xgmac_mdio.c                 |  7 ++++++-
>  20 files changed, 37 insertions(+), 1 deletion(-)
>