Commit 636d3ad2 authored by Jiri Pirko's avatar Jiri Pirko Committed by Jakub Kicinski

mlxsw: core: Consolidate trap groups to a single event group

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: default avatarJiri Pirko <jiri@nvidia.com>
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 981f1d18
...@@ -214,9 +214,7 @@ struct mlxsw_event_listener_item { ...@@ -214,9 +214,7 @@ struct mlxsw_event_listener_item {
static const u8 mlxsw_core_trap_groups[] = { static const u8 mlxsw_core_trap_groups[] = {
MLXSW_REG_HTGT_TRAP_GROUP_EMAD, MLXSW_REG_HTGT_TRAP_GROUP_EMAD,
MLXSW_REG_HTGT_TRAP_GROUP_MFDE, MLXSW_REG_HTGT_TRAP_GROUP_CORE_EVENT,
MLXSW_REG_HTGT_TRAP_GROUP_MTWE,
MLXSW_REG_HTGT_TRAP_GROUP_PMPE,
}; };
static int mlxsw_core_trap_groups_set(struct mlxsw_core *mlxsw_core) 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, ...@@ -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 = 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 static int
mlxsw_core_health_fw_fatal_dump_fatal_cause(const char *mfde_pl, mlxsw_core_health_fw_fatal_dump_fatal_cause(const char *mfde_pl,
......
...@@ -163,6 +163,9 @@ struct mlxsw_listener { ...@@ -163,6 +163,9 @@ struct mlxsw_listener {
.enabled_on_register = true, \ .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, int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
const struct mlxsw_rx_listener *rxl, const struct mlxsw_rx_listener *rxl,
void *priv, bool enabled); void *priv, bool enabled);
......
...@@ -825,7 +825,7 @@ mlxsw_env_mtwe_listener_func(const struct mlxsw_reg_info *reg, char *mtwe_pl, ...@@ -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 = 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) 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, ...@@ -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 = 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 static int
mlxsw_env_module_plug_event_register(struct mlxsw_core *mlxsw_core) mlxsw_env_module_plug_event_register(struct mlxsw_core *mlxsw_core)
......
...@@ -6141,9 +6141,7 @@ MLXSW_ITEM32(reg, htgt, type, 0x00, 8, 4); ...@@ -6141,9 +6141,7 @@ MLXSW_ITEM32(reg, htgt, type, 0x00, 8, 4);
enum mlxsw_reg_htgt_trap_group { enum mlxsw_reg_htgt_trap_group {
MLXSW_REG_HTGT_TRAP_GROUP_EMAD, MLXSW_REG_HTGT_TRAP_GROUP_EMAD,
MLXSW_REG_HTGT_TRAP_GROUP_MFDE, MLXSW_REG_HTGT_TRAP_GROUP_CORE_EVENT,
MLXSW_REG_HTGT_TRAP_GROUP_MTWE,
MLXSW_REG_HTGT_TRAP_GROUP_PMPE,
MLXSW_REG_HTGT_TRAP_GROUP_SP_STP, MLXSW_REG_HTGT_TRAP_GROUP_SP_STP,
MLXSW_REG_HTGT_TRAP_GROUP_SP_LACP, MLXSW_REG_HTGT_TRAP_GROUP_SP_LACP,
MLXSW_REG_HTGT_TRAP_GROUP_SP_LLDP, MLXSW_REG_HTGT_TRAP_GROUP_SP_LLDP,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment