mlxsw: core_acl_flex_keys: Change SRC_SYS_PORT flex key element size
authorJiri Pirko <jiri@mellanox.com>
Sun, 8 Jul 2018 07:00:18 +0000 (10:00 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 8 Jul 2018 08:05:19 +0000 (17:05 +0900)
The SRC_SYS_PORT is passed as 8 bit value down to hw anyway, so cap it
in the driver as well. Also, in Spectrum-2 the FW iface for SRC_SYS_PORT
is only 8 bits, so prepare for it.

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>
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_keys.h

index 4c7c8eb..154eccd 100644 (file)
@@ -103,7 +103,7 @@ struct mlxsw_afk_element_info {
  * define an internal storage geometry.
  */
 static const struct mlxsw_afk_element_info mlxsw_afk_element_infos[] = {
-       MLXSW_AFK_ELEMENT_INFO_U32(SRC_SYS_PORT, 0x00, 16, 16),
+       MLXSW_AFK_ELEMENT_INFO_U32(SRC_SYS_PORT, 0x00, 16, 8),
        MLXSW_AFK_ELEMENT_INFO_BUF(DMAC_32_47, 0x04, 2),
        MLXSW_AFK_ELEMENT_INFO_BUF(DMAC_0_31, 0x06, 4),
        MLXSW_AFK_ELEMENT_INFO_BUF(SMAC_32_47, 0x0A, 2),
index 800285b..a120c0d 100644 (file)
@@ -42,7 +42,7 @@ static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_l2_dmac[] = {
        MLXSW_AFK_ELEMENT_INST_BUF(DMAC_0_31, 0x02, 4),
        MLXSW_AFK_ELEMENT_INST_U32(PCP, 0x08, 13, 3),
        MLXSW_AFK_ELEMENT_INST_U32(VID, 0x08, 0, 12),
-       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 16),
+       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 8),
 };
 
 static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_l2_smac[] = {
@@ -50,7 +50,7 @@ static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_l2_smac[] = {
        MLXSW_AFK_ELEMENT_INST_BUF(SMAC_0_31, 0x02, 4),
        MLXSW_AFK_ELEMENT_INST_U32(PCP, 0x08, 13, 3),
        MLXSW_AFK_ELEMENT_INST_U32(VID, 0x08, 0, 12),
-       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 16),
+       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 8),
 };
 
 static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_l2_smac_ex[] = {
@@ -62,13 +62,13 @@ static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_l2_smac_ex[] = {
 static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_ipv4_sip[] = {
        MLXSW_AFK_ELEMENT_INST_BUF(SRC_IP_0_31, 0x00, 4),
        MLXSW_AFK_ELEMENT_INST_U32(IP_PROTO, 0x08, 0, 8),
-       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 16),
+       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 8),
 };
 
 static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_ipv4_dip[] = {
        MLXSW_AFK_ELEMENT_INST_BUF(DST_IP_0_31, 0x00, 4),
        MLXSW_AFK_ELEMENT_INST_U32(IP_PROTO, 0x08, 0, 8),
-       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 16),
+       MLXSW_AFK_ELEMENT_INST_U32(SRC_SYS_PORT, 0x0C, 0, 8),
 };
 
 static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_ipv4[] = {