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

Reply via email to