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

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
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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,
+3 −0
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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)
+1 −3
Original line number Diff line number Diff line
@@ -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,