diff options
author | Jiri Pirko <jiri@mellanox.com> | 2018-11-14 08:22:32 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-15 14:43:43 -0800 |
commit | b1ce60e6214d93fbeffa39e6f9db21c0a4591b1e (patch) | |
tree | b1755053c0cac7ec7ef785faff2c1ee8d21b7df9 /drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h | |
parent | 3bc6f3858a0d25667164f9b58667d7f3fbce98b6 (diff) | |
download | linux-stable-b1ce60e6214d93fbeffa39e6f9db21c0a4591b1e.tar.gz linux-stable-b1ce60e6214d93fbeffa39e6f9db21c0a4591b1e.tar.bz2 linux-stable-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.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h index 6a44501d8af7..a5303c0b53b4 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h +++ b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h @@ -189,6 +189,7 @@ struct mlxsw_afk_ops { const struct mlxsw_afk_block *blocks; unsigned int blocks_count; void (*encode_block)(char *output, int block_index, char *block); + void (*clear_block)(char *output, int block_index); }; struct mlxsw_afk *mlxsw_afk_create(unsigned int max_blocks, @@ -229,5 +230,7 @@ void mlxsw_afk_encode(struct mlxsw_afk *mlxsw_afk, struct mlxsw_afk_key_info *key_info, struct mlxsw_afk_element_values *values, char *key, char *mask, int block_start, int block_end); +void mlxsw_afk_clear(struct mlxsw_afk *mlxsw_afk, char *key, + int block_start, int block_end); #endif |