diff options
author | Yangbo Lu <yangbo.lu@nxp.com> | 2020-02-29 16:31:05 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-03 18:57:29 -0800 |
commit | 29e59fd4fb488cdafde587c2dca6e8fc4123b6e8 (patch) | |
tree | b5b7f189bb875b9b46068afd82fe0677dd58696f /drivers/net/ethernet/mscc/ocelot_flower.c | |
parent | d658489225271bbe4245c13cd627bcb71b61517b (diff) | |
download | linux-29e59fd4fb488cdafde587c2dca6e8fc4123b6e8.tar.gz linux-29e59fd4fb488cdafde587c2dca6e8fc4123b6e8.tar.bz2 linux-29e59fd4fb488cdafde587c2dca6e8fc4123b6e8.zip |
net: mscc: ocelot: make ocelot_ace_rule support multiple ports
The ocelot_ace_rule is port specific now. Make it flexible to
be able to support multiple ports too.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Allan W. Nielsen <allan.nielsen@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mscc/ocelot_flower.c')
-rw-r--r-- | drivers/net/ethernet/mscc/ocelot_flower.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/mscc/ocelot_flower.c b/drivers/net/ethernet/mscc/ocelot_flower.c index 3d65b99b9734..ffd2bb50cfc3 100644 --- a/drivers/net/ethernet/mscc/ocelot_flower.c +++ b/drivers/net/ethernet/mscc/ocelot_flower.c @@ -177,8 +177,8 @@ struct ocelot_ace_rule *ocelot_ace_rule_create(struct flow_cls_offload *f, if (!rule) return NULL; - rule->port = &block->priv->port; - rule->chip_port = block->priv->chip_port; + rule->ocelot = block->priv->port.ocelot; + rule->ingress_port_mask = BIT(block->priv->chip_port); return rule; } @@ -213,7 +213,7 @@ static int ocelot_flower_destroy(struct flow_cls_offload *f, int ret; rule.prio = f->common.prio; - rule.port = &port_block->priv->port; + rule.ocelot = port_block->priv->port.ocelot; rule.id = f->cookie; ret = ocelot_ace_rule_offload_del(&rule); @@ -231,7 +231,7 @@ static int ocelot_flower_stats_update(struct flow_cls_offload *f, int ret; rule.prio = f->common.prio; - rule.port = &port_block->priv->port; + rule.ocelot = port_block->priv->port.ocelot; rule.id = f->cookie; ret = ocelot_ace_rule_stats_update(&rule); if (ret) |