aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mscc/ocelot_flower.c
diff options
context:
space:
mode:
authorYangbo Lu <yangbo.lu@nxp.com>2020-02-29 16:31:05 +0200
committerDavid S. Miller <davem@davemloft.net>2020-03-03 18:57:29 -0800
commit29e59fd4fb488cdafde587c2dca6e8fc4123b6e8 (patch)
treeb5b7f189bb875b9b46068afd82fe0677dd58696f /drivers/net/ethernet/mscc/ocelot_flower.c
parentMerge branch 'net-module-and-fw-vers' (diff)
downloadlinux-dev-29e59fd4fb488cdafde587c2dca6e8fc4123b6e8.tar.xz
linux-dev-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 '')
-rw-r--r--drivers/net/ethernet/mscc/ocelot_flower.c8
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)