[PATCH v1 2/6] net: mv88e61xx: Configure PHY ports to also pass packets between them

Ramon Fried rfried.dev at gmail.com
Sat May 8 08:25:22 CEST 2021


On Wed, Mar 17, 2021 at 4:14 PM Lukasz Majewski <lukma at denx.de> wrote:
>
> After this change PHY ports are able to pass packets between them (and
> also to CPU port).
>
> The Kconfig variable - CONFIG_MV88E61XX_PHY_PORTS - is used to get the
> PHY ports of the switch and generate proper mask.
>
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
> ---
>
>  drivers/net/phy/mv88e61xx.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/phy/mv88e61xx.c b/drivers/net/phy/mv88e61xx.c
> index 69a1dd8f1859..14074c0b82fb 100644
> --- a/drivers/net/phy/mv88e61xx.c
> +++ b/drivers/net/phy/mv88e61xx.c
> @@ -873,14 +873,19 @@ static int mv88e61xx_phy_setup(struct phy_device *phydev, u8 phy)
>
>  static int mv88e61xx_phy_config_port(struct phy_device *phydev, u8 phy)
>  {
> +       struct mv88e61xx_phy_priv *priv = phydev->priv;
> +       u16 port_mask;
>         int val;
>
>         val = mv88e61xx_port_enable(phydev, phy);
>         if (val < 0)
>                 return val;
>
> -       val = mv88e61xx_port_set_vlan(phydev, phy,
> -                       1 << CONFIG_MV88E61XX_CPU_PORT);
> +       port_mask = PORT_MASK(priv->port_count) & CONFIG_MV88E61XX_PHY_PORTS;
> +       port_mask &= ~(1 << phy);
> +       port_mask |= (1 << CONFIG_MV88E61XX_CPU_PORT);
> +
> +       val = mv88e61xx_port_set_vlan(phydev, phy, port_mask);
>         if (val < 0)
>                 return val;
>
> --
> 2.20.1
>
Reviewed-by: Ramon Fried <rfried.dev at gmail.com>


More information about the U-Boot mailing list