]> git.baikalelectronics.ru Git - uboot.git/commit
drivers: net: fsl-mc: fix MAC address fixup procedure
authorIoana Ciornei <ioana.ciornei@nxp.com>
Thu, 9 Feb 2023 16:07:04 +0000 (18:07 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 5 May 2023 17:41:55 +0000 (13:41 -0400)
commit5342c4807011c718cbc8323d6efbd95f1fab586c
tree29415586abdb141d20812a8d673e26d72883d256
parent05108db47efb88beb1f38b54d62c0d7311e5fa18
drivers: net: fsl-mc: fix MAC address fixup procedure

In the process of adopting CONFIG_DM_ETH on the DPAA2 based platforms,
interfaces which were previously defined as "xgmii" were transitioned to
be defined as "xfi" in the DTS.
See the commit below for reference:
commit 9a074b52fa4f ("arm: dts: ls2088ardb: add DPMAC and PHY nodes")

Then Vladimir's commit replaced all occurrences of "xfi" with
"10gbase-r" in an effort to make U-Boot work with the same device tree
as Linux.
commit b010efe00a64 ("net: replace the "xfi" phy-mode with "10gbase-r"")

These changes to the phy_interface_t of an Ethernet port meant that the
mc_fixup_mac_addrs() function was no longer capable to properly fixup
the MAC addresses. The problem arises from the fact that the hardcoded
information about an interface (wriop_get_enet_if()) was no longer
matching any actual device.

For example, the function tried to search for "DPMAC1@xgmii1" by name
using eth_get_dev_by_name() when only "DPMAC1@10gbase-r" was available.

This function removes the need to rely on the hardcoded information by
iterating through all the UCLASS_ETH devices which are DPAA2 and request
a fixup for each of them.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
drivers/net/fsl-mc/mc.c