On 08/12/2020 14:07:59+0200, Vladimir Oltean wrote:
> It makes it a bit easier to read and understand the code that deals with
> balancing the 16 aggregation codes among the ports in a certain LAG.
> 
> Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com>
Reviewed-by: Alexandre Belloni <alexandre.bell...@bootlin.com>

> ---
>  drivers/net/ethernet/mscc/ocelot.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/mscc/ocelot.c 
> b/drivers/net/ethernet/mscc/ocelot.c
> index d4dbba66aa65..d87e80a15ca5 100644
> --- a/drivers/net/ethernet/mscc/ocelot.c
> +++ b/drivers/net/ethernet/mscc/ocelot.c
> @@ -1263,8 +1263,8 @@ static int ocelot_set_aggr_pgids(struct ocelot *ocelot)
>  
>       /* Now, set PGIDs for each LAG */
>       for (lag = 0; lag < ocelot->num_phys_ports; lag++) {
> +             int num_ports_in_lag = 0;
>               unsigned long bond_mask;
> -             int aggr_count = 0;
>               u8 aggr_idx[16];
>  
>               if (!bonds[lag])
> @@ -1276,8 +1276,7 @@ static int ocelot_set_aggr_pgids(struct ocelot *ocelot)
>                       // Destination mask
>                       ocelot_write_rix(ocelot, bond_mask,
>                                        ANA_PGID_PGID, port);
> -                     aggr_idx[aggr_count] = port;
> -                     aggr_count++;
> +                     aggr_idx[num_ports_in_lag++] = port;
>               }
>  
>               for_each_aggr_pgid(ocelot, i) {
> @@ -1285,7 +1284,7 @@ static int ocelot_set_aggr_pgids(struct ocelot *ocelot)
>  
>                       ac = ocelot_read_rix(ocelot, ANA_PGID_PGID, i);
>                       ac &= ~bond_mask;
> -                     ac |= BIT(aggr_idx[i % aggr_count]);
> +                     ac |= BIT(aggr_idx[i % num_ports_in_lag]);
>                       ocelot_write_rix(ocelot, ac, ANA_PGID_PGID, i);
>               }
>  
> -- 
> 2.25.1
> 

-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Reply via email to