aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2018-11-14 08:22:32 +0000
committerDavid S. Miller <davem@davemloft.net>2018-11-15 14:43:43 -0800
commitb1ce60e6214d93fbeffa39e6f9db21c0a4591b1e (patch)
treeb1755053c0cac7ec7ef785faff2c1ee8d21b7df9 /drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c
parentmlxsw: core_acl: Change order of args of ops->encode_block() (diff)
downloadlinux-dev-b1ce60e6214d93fbeffa39e6f9db21c0a4591b1e.tar.xz
linux-dev-b1ce60e6214d93fbeffa39e6f9db21c0a4591b1e.zip
mlxsw: spectrum: acl: Don't encode the key again in mlxsw_sp_acl_atcam_12kb_lkey_id_get()
No need to do key encoding again in mlxsw_sp_acl_atcam_12kb_lkey_id_get(). Instead of that, introduce a new helper that would just clear unused blocks. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c
index 98c00ea9c398..0900ccfdf315 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c
@@ -458,3 +458,13 @@ void mlxsw_afk_encode(struct mlxsw_afk *mlxsw_afk,
}
}
EXPORT_SYMBOL(mlxsw_afk_encode);
+
+void mlxsw_afk_clear(struct mlxsw_afk *mlxsw_afk, char *key,
+ int block_start, int block_end)
+{
+ int i;
+
+ for (i = block_start; i <= block_end; i++)
+ mlxsw_afk->ops->clear_block(key, i);
+}
+EXPORT_SYMBOL(mlxsw_afk_clear);