mlxsw: core: Consolidate trap groups to a single event group
authorJiri Pirko <jiri@nvidia.com>
Thu, 27 Jan 2022 09:02:24 +0000 (11:02 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 28 Jan 2022 03:19:58 +0000 (19:19 -0800)
For event traps which are used in core, avoid having a separate trap
group for each event. Instead of that introduce a single core event trap
group and use it for all event traps.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/core.c
drivers/net/ethernet/mellanox/mlxsw/core.h
drivers/net/ethernet/mellanox/mlxsw/core_env.c
drivers/net/ethernet/mellanox/mlxsw/reg.h

index 0c2e0d4..f45df5f 100644 (file)
@@ -214,9 +214,7 @@ struct mlxsw_event_listener_item {
 
 static const u8 mlxsw_core_trap_groups[] = {
        MLXSW_REG_HTGT_TRAP_GROUP_EMAD,
-       MLXSW_REG_HTGT_TRAP_GROUP_MFDE,
-       MLXSW_REG_HTGT_TRAP_GROUP_MTWE,
-       MLXSW_REG_HTGT_TRAP_GROUP_PMPE,
+       MLXSW_REG_HTGT_TRAP_GROUP_CORE_EVENT,
 };
 
 static int mlxsw_core_trap_groups_set(struct mlxsw_core *mlxsw_core)
@@ -1725,7 +1723,7 @@ static void mlxsw_core_health_listener_func(const struct mlxsw_reg_info *reg,
 }
 
 static const struct mlxsw_listener mlxsw_core_health_listener =
-       MLXSW_EVENTL(mlxsw_core_health_listener_func, MFDE, MFDE);
+       MLXSW_CORE_EVENTL(mlxsw_core_health_listener_func, MFDE);
 
 static int
 mlxsw_core_health_fw_fatal_dump_fatal_cause(const char *mfde_pl,
index e6973a7..6d30409 100644 (file)
@@ -163,6 +163,9 @@ struct mlxsw_listener {
                .enabled_on_register = true,                                    \
        }
 
+#define MLXSW_CORE_EVENTL(_func, _trap_id)             \
+       MLXSW_EVENTL(_func, _trap_id, CORE_EVENT)
+
 int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
                                    const struct mlxsw_rx_listener *rxl,
                                    void *priv, bool enabled);
index 4e3de28..6ea4bf8 100644 (file)
@@ -825,7 +825,7 @@ mlxsw_env_mtwe_listener_func(const struct mlxsw_reg_info *reg, char *mtwe_pl,
 }
 
 static const struct mlxsw_listener mlxsw_env_temp_warn_listener =
-       MLXSW_EVENTL(mlxsw_env_mtwe_listener_func, MTWE, MTWE);
+       MLXSW_CORE_EVENTL(mlxsw_env_mtwe_listener_func, MTWE);
 
 static int mlxsw_env_temp_warn_event_register(struct mlxsw_core *mlxsw_core)
 {
@@ -915,7 +915,7 @@ mlxsw_env_pmpe_listener_func(const struct mlxsw_reg_info *reg, char *pmpe_pl,
 }
 
 static const struct mlxsw_listener mlxsw_env_module_plug_listener =
-       MLXSW_EVENTL(mlxsw_env_pmpe_listener_func, PMPE, PMPE);
+       MLXSW_CORE_EVENTL(mlxsw_env_pmpe_listener_func, PMPE);
 
 static int
 mlxsw_env_module_plug_event_register(struct mlxsw_core *mlxsw_core)
index aba5db4..eebd047 100644 (file)
@@ -6141,9 +6141,7 @@ MLXSW_ITEM32(reg, htgt, type, 0x00, 8, 4);
 
 enum mlxsw_reg_htgt_trap_group {
        MLXSW_REG_HTGT_TRAP_GROUP_EMAD,
-       MLXSW_REG_HTGT_TRAP_GROUP_MFDE,
-       MLXSW_REG_HTGT_TRAP_GROUP_MTWE,
-       MLXSW_REG_HTGT_TRAP_GROUP_PMPE,
+       MLXSW_REG_HTGT_TRAP_GROUP_CORE_EVENT,
        MLXSW_REG_HTGT_TRAP_GROUP_SP_STP,
        MLXSW_REG_HTGT_TRAP_GROUP_SP_LACP,
        MLXSW_REG_HTGT_TRAP_GROUP_SP_LLDP,