• Vladimir Oltean's avatar
    net: dsa: sja1105: dynamically choose the number of static config table entries · fd6f2c25
    Vladimir Oltean authored
    Due to the fact that the port count is different, some static config
    tables have a different number of elements in SJA1105 compared to
    SJA1110. Such an example is the L2 Policing table, which has 45 entries
    in SJA1105 (one per port x traffic class, and one broadcast policer per
    port) and 110 entries in SJA1110 (one per port x traffic class, one
    broadcast and one multicast policer per port).
    
    Similarly, the MAC Configuration Table, the L2 Forwarding table, all
    have a different number of elements simply because the port count is
    different, and although this can be accounted for by looking at
    ds->ports, the policing table can't because of the presence of the extra
    multicast policers.
    
    The common denominator for the static config initializers for these
    tables is that they must set up all the entries within that table.
    So the simplest way to account for these differences in a uniform manner
    is to look at struct sja1105_table_ops::max_entry_count. For the sake of
    uniformity, this patch makes that change also for tables whose number of
    elements did not change in SJA1110, like the xMII Mode Parameters, the
    L2 Lookup Parameters, General Parameters, AVB Parameters (all of these
    are singleton tables with a single entry).
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fd6f2c25
sja1105_main.c 105 KB