Symbol: mlxsw_core
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1004
static inline int mlxsw_cmd_sw2hw_sdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1007
return __mlxsw_cmd_sw2hw_dq(mlxsw_core, in_mbox, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1011
static inline int mlxsw_cmd_sw2hw_rdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1014
return __mlxsw_cmd_sw2hw_dq(mlxsw_core, in_mbox, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1061
static inline int __mlxsw_cmd_hw2sw_dq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1064
return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_HW2SW_DQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1068
static inline int mlxsw_cmd_hw2sw_sdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1071
return __mlxsw_cmd_hw2sw_dq(mlxsw_core, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1075
static inline int mlxsw_cmd_hw2sw_rdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1078
return __mlxsw_cmd_hw2sw_dq(mlxsw_core, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1096
static inline int __mlxsw_cmd_2err_dq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1099
return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_2ERR_DQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1103
static inline int mlxsw_cmd_2err_sdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1106
return __mlxsw_cmd_2err_dq(mlxsw_core, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1110
static inline int mlxsw_cmd_2err_rdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1113
return __mlxsw_cmd_2err_dq(mlxsw_core, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1127
static inline int __mlxsw_cmd_query_dq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1131
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_2ERR_DQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1136
static inline int mlxsw_cmd_query_sdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1139
return __mlxsw_cmd_query_dq(mlxsw_core, out_mbox, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1143
static inline int mlxsw_cmd_query_rdq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1146
return __mlxsw_cmd_query_dq(mlxsw_core, out_mbox, dq_number,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1160
static inline int mlxsw_cmd_sw2hw_cq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1163
return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_SW2HW_CQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1214
static inline int mlxsw_cmd_hw2sw_cq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1217
return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_HW2SW_CQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1233
static inline int mlxsw_cmd_query_cq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1236
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_CQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1251
static inline int mlxsw_cmd_sw2hw_eq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1254
return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_SW2HW_EQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1296
static inline int mlxsw_cmd_hw2sw_eq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1299
return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_HW2SW_EQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1311
static inline int mlxsw_cmd_query_eq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
1314
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_EQ,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
199
static inline int mlxsw_cmd_query_fw(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
202
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_FW,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
26
struct mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/cmd.h
28
int mlxsw_cmd_exec(struct mlxsw_core *mlxsw_core, u16 opcode, u8 opcode_mod,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
33
static inline int mlxsw_cmd_exec_in(struct mlxsw_core *mlxsw_core, u16 opcode,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
37
return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, false,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
377
static inline int mlxsw_cmd_boardinfo(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
380
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_BOARDINFO,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
41
static inline int mlxsw_cmd_exec_out(struct mlxsw_core *mlxsw_core, u16 opcode,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
421
static inline int mlxsw_cmd_query_aq_cap(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
424
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_AQ_CAP,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
46
return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
499
static inline int mlxsw_cmd_map_fa(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
502
return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_MAP_FA,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
51
static inline int mlxsw_cmd_exec_none(struct mlxsw_core *mlxsw_core, u16 opcode,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
528
static inline int mlxsw_cmd_unmap_fa(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/cmd.h
530
return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_UNMAP_FA, 0, 0);
drivers/net/ethernet/mellanox/mlxsw/cmd.h
54
return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, false,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
548
static inline int mlxsw_cmd_query_resources(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
551
return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_RESOURCES,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
582
static inline int mlxsw_cmd_config_profile_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
585
return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_CONFIG_PROFILE,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
970
static inline int mlxsw_cmd_access_reg(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
974
return mlxsw_cmd_exec(mlxsw_core, MLXSW_CMD_OPCODE_ACCESS_REG,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
990
static inline int __mlxsw_cmd_sw2hw_dq(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/cmd.h
994
return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_SW2HW_DQ,
drivers/net/ethernet/mellanox/mlxsw/core.c
1000
list_add_tail_rcu(&trans->list, &mlxsw_core->emad.trans_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
1001
spin_unlock_bh(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
1002
err = mlxsw_emad_transmit(mlxsw_core, trans);
drivers/net/ethernet/mellanox/mlxsw/core.c
1008
spin_lock_bh(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
1010
spin_unlock_bh(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
103
struct mlxsw_linecards *mlxsw_core_linecards(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
105
return mlxsw_core->linecards;
drivers/net/ethernet/mellanox/mlxsw/core.c
1058
int mlxsw_core_fw_flash(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
1065
mlxsw_core->fw_flash_in_progress = true;
drivers/net/ethernet/mellanox/mlxsw/core.c
1067
mlxsw_core->fw_flash_in_progress = false;
drivers/net/ethernet/mellanox/mlxsw/core.c
1074
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
108
void mlxsw_core_linecards_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
1083
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1088
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcqi), mcqi_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1102
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1108
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
111
mlxsw_core->linecards = linecards;
drivers/net/ethernet/mellanox/mlxsw/core.c
1117
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1125
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1130
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1138
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1142
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcda), mcda_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1150
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1155
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1162
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1166
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1175
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
118
struct mlxsw_core *mlxsw_core = priv;
drivers/net/ethernet/mellanox/mlxsw/core.c
1182
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1196
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
120
return atomic_read(&mlxsw_core->active_ports_count);
drivers/net/ethernet/mellanox/mlxsw/core.c
1200
mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1207
struct mlxsw_core *mlxsw_core = mlxsw_core_fw_info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1211
mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcc), mcc_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1226
static int mlxsw_core_dev_fw_flash(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
123
static int mlxsw_core_resources_ports_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
1233
.psid = mlxsw_core->bus_info->psid,
drivers/net/ethernet/mellanox/mlxsw/core.c
1234
.psid_size = strlen(mlxsw_core->bus_info->psid),
drivers/net/ethernet/mellanox/mlxsw/core.c
1235
.devlink = priv_to_devlink(mlxsw_core),
drivers/net/ethernet/mellanox/mlxsw/core.c
1237
.mlxsw_core = mlxsw_core
drivers/net/ethernet/mellanox/mlxsw/core.c
1240
return mlxsw_core_fw_flash(mlxsw_core, &mlxsw_core_fw_info.mlxfw_dev,
drivers/net/ethernet/mellanox/mlxsw/core.c
1244
static int mlxsw_core_fw_rev_validate(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
125
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1259
err = devl_param_driverinit_value_get(priv_to_devlink(mlxsw_core),
drivers/net/ethernet/mellanox/mlxsw/core.c
1287
err = mlxsw_core_dev_fw_flash(mlxsw_core, firmware, NULL);
drivers/net/ethernet/mellanox/mlxsw/core.c
129
max_ports = mlxsw_core->max_ports - 1;
drivers/net/ethernet/mellanox/mlxsw/core.c
1301
static int mlxsw_core_fw_flash_update(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
1305
return mlxsw_core_dev_fw_flash(mlxsw_core, params->fw, extack);
drivers/net/ethernet/mellanox/mlxsw/core.c
1326
static int mlxsw_core_fw_params_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
1328
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1344
static void mlxsw_core_fw_params_unregister(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
1346
devl_params_unregister(priv_to_devlink(mlxsw_core), mlxsw_core_fw_devlink_params,
drivers/net/ethernet/mellanox/mlxsw/core.c
1361
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1363
if (!mlxsw_core->driver->port_split)
drivers/net/ethernet/mellanox/mlxsw/core.c
1365
return mlxsw_core->driver->port_split(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
1375
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1377
if (!mlxsw_core->driver->port_unsplit)
drivers/net/ethernet/mellanox/mlxsw/core.c
1379
return mlxsw_core->driver->port_unsplit(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
1389
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1390
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1394
return mlxsw_driver->sb_pool_get(mlxsw_core, sb_index,
drivers/net/ethernet/mellanox/mlxsw/core.c
1404
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1405
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1409
return mlxsw_driver->sb_pool_set(mlxsw_core, sb_index,
drivers/net/ethernet/mellanox/mlxsw/core.c
141
static int mlxsw_ports_init(struct mlxsw_core *mlxsw_core, bool reload)
drivers/net/ethernet/mellanox/mlxsw/core.c
1418
struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1419
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
143
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1434
struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1435
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1451
struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1452
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
147
if (MLXSW_CORE_RES_VALID(mlxsw_core, MAX_SYSTEM_PORT))
drivers/net/ethernet/mellanox/mlxsw/core.c
1470
struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1471
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
148
mlxsw_core->max_ports = MLXSW_CORE_RES_GET(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
1485
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1486
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1490
return mlxsw_driver->sb_occ_snapshot(mlxsw_core, sb_index);
drivers/net/ethernet/mellanox/mlxsw/core.c
1496
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1497
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1501
return mlxsw_driver->sb_occ_max_clear(mlxsw_core, sb_index);
drivers/net/ethernet/mellanox/mlxsw/core.c
1509
struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
151
mlxsw_core->max_ports = MLXSW_PORT_MAX_PORTS_DEFAULT + 1;
drivers/net/ethernet/mellanox/mlxsw/core.c
1510
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1526
struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1527
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
153
mlxsw_core->ports = kzalloc_objs(struct mlxsw_core_port,
drivers/net/ethernet/mellanox/mlxsw/core.c
154
mlxsw_core->max_ports);
drivers/net/ethernet/mellanox/mlxsw/core.c
1542
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
155
if (!mlxsw_core->ports)
drivers/net/ethernet/mellanox/mlxsw/core.c
1550
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mgir), mgir_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
1583
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1585
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_RESET))
drivers/net/ethernet/mellanox/mlxsw/core.c
1588
mlxsw_core_bus_device_unregister(mlxsw_core, true);
drivers/net/ethernet/mellanox/mlxsw/core.c
159
err = mlxsw_core_resources_ports_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1597
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1602
err = mlxsw_core_bus_device_register(mlxsw_core->bus_info,
drivers/net/ethernet/mellanox/mlxsw/core.c
1603
mlxsw_core->bus,
drivers/net/ethernet/mellanox/mlxsw/core.c
1604
mlxsw_core->bus_priv, true,
drivers/net/ethernet/mellanox/mlxsw/core.c
1613
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1615
return mlxsw_core_fw_flash_update(mlxsw_core, params, extack);
drivers/net/ethernet/mellanox/mlxsw/core.c
1622
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1623
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1627
return mlxsw_driver->trap_init(mlxsw_core, trap, trap_ctx);
drivers/net/ethernet/mellanox/mlxsw/core.c
163
atomic_set(&mlxsw_core->active_ports_count, 0);
drivers/net/ethernet/mellanox/mlxsw/core.c
1634
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1635
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1639
mlxsw_driver->trap_fini(mlxsw_core, trap, trap_ctx);
drivers/net/ethernet/mellanox/mlxsw/core.c
1647
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1648
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
165
mlxsw_ports_occ_get, mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1652
return mlxsw_driver->trap_action_set(mlxsw_core, trap, action, extack);
drivers/net/ethernet/mellanox/mlxsw/core.c
1659
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1660
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1664
return mlxsw_driver->trap_group_init(mlxsw_core, group);
drivers/net/ethernet/mellanox/mlxsw/core.c
1673
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1674
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1678
return mlxsw_driver->trap_group_set(mlxsw_core, group, policer, extack);
drivers/net/ethernet/mellanox/mlxsw/core.c
1685
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1686
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1690
return mlxsw_driver->trap_policer_init(mlxsw_core, policer);
drivers/net/ethernet/mellanox/mlxsw/core.c
1697
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1698
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
170
kfree(mlxsw_core->ports);
drivers/net/ethernet/mellanox/mlxsw/core.c
1702
mlxsw_driver->trap_policer_fini(mlxsw_core, policer);
drivers/net/ethernet/mellanox/mlxsw/core.c
1711
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1712
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1716
return mlxsw_driver->trap_policer_set(mlxsw_core, policer, rate, burst,
drivers/net/ethernet/mellanox/mlxsw/core.c
1725
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
1726
struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
1730
return mlxsw_driver->trap_policer_counter_get(mlxsw_core, policer,
drivers/net/ethernet/mellanox/mlxsw/core.c
174
static void mlxsw_ports_fini(struct mlxsw_core *mlxsw_core, bool reload)
drivers/net/ethernet/mellanox/mlxsw/core.c
176
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1762
static int mlxsw_core_params_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
1764
return mlxsw_core_fw_params_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1767
static void mlxsw_core_params_unregister(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
1769
mlxsw_core_fw_params_unregister(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
1773
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1781
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1784
mlxsw_core = event->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
1785
devlink_health_report(mlxsw_core->health.fw_fatal, "FW fatal event occurred",
drivers/net/ethernet/mellanox/mlxsw/core.c
1794
struct mlxsw_core *mlxsw_core = priv;
drivers/net/ethernet/mellanox/mlxsw/core.c
1799
event->mlxsw_core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
180
devl_resources_unregister(priv_to_devlink(mlxsw_core));
drivers/net/ethernet/mellanox/mlxsw/core.c
182
kfree(mlxsw_core->ports);
drivers/net/ethernet/mellanox/mlxsw/core.c
185
unsigned int mlxsw_core_max_ports(const struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
187
return mlxsw_core->max_ports;
drivers/net/ethernet/mellanox/mlxsw/core.c
191
int mlxsw_core_max_lag(struct mlxsw_core *mlxsw_core, u16 *p_max_lag)
drivers/net/ethernet/mellanox/mlxsw/core.c
193
struct mlxsw_driver *driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
200
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG))
drivers/net/ethernet/mellanox/mlxsw/core.c
2003
struct mlxsw_core *mlxsw_core = devlink_health_reporter_priv(reporter);
drivers/net/ethernet/mellanox/mlxsw/core.c
2008
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mfgd), mfgd_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2012
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mfgd), mfgd_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2022
static int mlxsw_core_health_fw_fatal_config(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2029
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mfgd), mfgd_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
203
*p_max_lag = MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG);
drivers/net/ethernet/mellanox/mlxsw/core.c
2033
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mfgd), mfgd_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2036
static int mlxsw_core_health_init(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2038
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2042
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
2046
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2048
dev_err(mlxsw_core->bus_info->dev, "Failed to create fw fatal reporter");
drivers/net/ethernet/mellanox/mlxsw/core.c
2051
mlxsw_core->health.fw_fatal = fw_fatal;
drivers/net/ethernet/mellanox/mlxsw/core.c
2053
err = mlxsw_core_trap_register(mlxsw_core, &mlxsw_core_health_listener, mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2057
err = mlxsw_core_health_fw_fatal_config(mlxsw_core, true);
drivers/net/ethernet/mellanox/mlxsw/core.c
2064
mlxsw_core_trap_unregister(mlxsw_core, &mlxsw_core_health_listener, mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2066
devl_health_reporter_destroy(mlxsw_core->health.fw_fatal);
drivers/net/ethernet/mellanox/mlxsw/core.c
2070
static void mlxsw_core_health_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2072
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
2075
mlxsw_core_health_fw_fatal_config(mlxsw_core, false);
drivers/net/ethernet/mellanox/mlxsw/core.c
2076
mlxsw_core_trap_unregister(mlxsw_core, &mlxsw_core_health_listener, mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2079
devl_health_reporter_destroy(mlxsw_core->health.fw_fatal);
drivers/net/ethernet/mellanox/mlxsw/core.c
2082
static void mlxsw_core_irq_event_handler_init(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2084
INIT_LIST_HEAD(&mlxsw_core->irq_event_handler_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
2085
mutex_init(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2088
static void mlxsw_core_irq_event_handler_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
209
mlxsw_core_lag_mode(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2090
mutex_destroy(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2091
WARN_ON(!list_empty(&mlxsw_core->irq_event_handler_list));
drivers/net/ethernet/mellanox/mlxsw/core.c
2102
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
211
return mlxsw_core->bus->lag_mode(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
2113
alloc_size = sizeof(*mlxsw_core) + mlxsw_driver->priv_size;
drivers/net/ethernet/mellanox/mlxsw/core.c
2124
mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/core.c
2125
INIT_LIST_HEAD(&mlxsw_core->rx_listener_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
2126
INIT_LIST_HEAD(&mlxsw_core->event_listener_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
2127
mlxsw_core->driver = mlxsw_driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
2128
mlxsw_core->bus = mlxsw_bus;
drivers/net/ethernet/mellanox/mlxsw/core.c
2129
mlxsw_core->bus_priv = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/core.c
2130
mlxsw_core->bus_info = mlxsw_bus_info;
drivers/net/ethernet/mellanox/mlxsw/core.c
2131
mlxsw_core_irq_event_handler_init(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2133
err = mlxsw_bus->init(bus_priv, mlxsw_core, mlxsw_driver->profile,
drivers/net/ethernet/mellanox/mlxsw/core.c
2134
&mlxsw_core->res);
drivers/net/ethernet/mellanox/mlxsw/core.c
2139
err = mlxsw_driver->resources_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2144
err = mlxsw_ports_init(mlxsw_core, reload);
drivers/net/ethernet/mellanox/mlxsw/core.c
2148
err = mlxsw_core_max_lag(mlxsw_core, &max_lag);
drivers/net/ethernet/mellanox/mlxsw/core.c
2149
if (!err && MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG_MEMBERS)) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2150
alloc_size = sizeof(*mlxsw_core->lag.mapping) * max_lag *
drivers/net/ethernet/mellanox/mlxsw/core.c
2151
MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS);
drivers/net/ethernet/mellanox/mlxsw/core.c
2152
mlxsw_core->lag.mapping = kzalloc(alloc_size, GFP_KERNEL);
drivers/net/ethernet/mellanox/mlxsw/core.c
2153
if (!mlxsw_core->lag.mapping) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2159
err = mlxsw_core_trap_groups_set(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
216
mlxsw_core_flood_mode(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2163
err = mlxsw_emad_init(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2168
err = mlxsw_core_params_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2173
err = mlxsw_core_fw_rev_validate(mlxsw_core, mlxsw_bus_info, mlxsw_driver->fw_req_rev,
drivers/net/ethernet/mellanox/mlxsw/core.c
2178
err = mlxsw_linecards_init(mlxsw_core, mlxsw_bus_info);
drivers/net/ethernet/mellanox/mlxsw/core.c
218
return mlxsw_core->bus->flood_mode(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
2182
err = mlxsw_core_health_init(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2186
err = mlxsw_hwmon_init(mlxsw_core, mlxsw_bus_info, &mlxsw_core->hwmon);
drivers/net/ethernet/mellanox/mlxsw/core.c
2190
err = mlxsw_thermal_init(mlxsw_core, mlxsw_bus_info,
drivers/net/ethernet/mellanox/mlxsw/core.c
2191
&mlxsw_core->thermal);
drivers/net/ethernet/mellanox/mlxsw/core.c
2195
err = mlxsw_env_init(mlxsw_core, mlxsw_bus_info, &mlxsw_core->env);
drivers/net/ethernet/mellanox/mlxsw/core.c
2200
err = mlxsw_driver->init(mlxsw_core, mlxsw_bus_info, extack);
drivers/net/ethernet/mellanox/mlxsw/core.c
2210
mlxsw_env_fini(mlxsw_core->env);
drivers/net/ethernet/mellanox/mlxsw/core.c
2212
mlxsw_thermal_fini(mlxsw_core->thermal);
drivers/net/ethernet/mellanox/mlxsw/core.c
2214
mlxsw_hwmon_fini(mlxsw_core->hwmon);
drivers/net/ethernet/mellanox/mlxsw/core.c
2216
mlxsw_core_health_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2218
mlxsw_linecards_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
222
void *mlxsw_core_driver_priv(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2222
mlxsw_core_params_unregister(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2224
mlxsw_emad_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2227
kfree(mlxsw_core->lag.mapping);
drivers/net/ethernet/mellanox/mlxsw/core.c
2229
mlxsw_ports_fini(mlxsw_core, reload);
drivers/net/ethernet/mellanox/mlxsw/core.c
2236
mlxsw_core_irq_event_handler_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
224
return mlxsw_core->driver_priv;
drivers/net/ethernet/mellanox/mlxsw/core.c
2272
void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2275
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2290
if (mlxsw_core->driver->fini)
drivers/net/ethernet/mellanox/mlxsw/core.c
2291
mlxsw_core->driver->fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2292
mlxsw_env_fini(mlxsw_core->env);
drivers/net/ethernet/mellanox/mlxsw/core.c
2293
mlxsw_thermal_fini(mlxsw_core->thermal);
drivers/net/ethernet/mellanox/mlxsw/core.c
2294
mlxsw_hwmon_fini(mlxsw_core->hwmon);
drivers/net/ethernet/mellanox/mlxsw/core.c
2295
mlxsw_core_health_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2296
mlxsw_linecards_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2298
mlxsw_core_params_unregister(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2299
mlxsw_emad_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2300
kfree(mlxsw_core->lag.mapping);
drivers/net/ethernet/mellanox/mlxsw/core.c
2301
mlxsw_ports_fini(mlxsw_core, reload);
drivers/net/ethernet/mellanox/mlxsw/core.c
2304
mlxsw_core->bus->fini(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
2305
mlxsw_core_irq_event_handler_fini(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2315
mlxsw_core_params_unregister(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2323
bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2326
return mlxsw_core->bus->skb_transmit_busy(mlxsw_core->bus_priv,
drivers/net/ethernet/mellanox/mlxsw/core.c
2331
int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
drivers/net/ethernet/mellanox/mlxsw/core.c
2334
return mlxsw_core->bus->skb_transmit(mlxsw_core->bus_priv, skb,
drivers/net/ethernet/mellanox/mlxsw/core.c
2339
void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2342
if (mlxsw_core->driver->ptp_transmitted)
drivers/net/ethernet/mellanox/mlxsw/core.c
2343
mlxsw_core->driver->ptp_transmitted(mlxsw_core, skb,
drivers/net/ethernet/mellanox/mlxsw/core.c
2358
__find_rx_listener_item(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2363
list_for_each_entry(rxl_item, &mlxsw_core->rx_listener_list, list) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2370
int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2376
rxl_item = __find_rx_listener_item(mlxsw_core, rxl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2386
list_add_rcu(&rxl_item->list, &mlxsw_core->rx_listener_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
2391
void mlxsw_core_rx_listener_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2396
rxl_item = __find_rx_listener_item(mlxsw_core, rxl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2406
mlxsw_core_rx_listener_state_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2412
rxl_item = __find_rx_listener_item(mlxsw_core, rxl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2422
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
2428
mlxsw_core = event_listener_item->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
2429
trace_devlink_hwmsg(priv_to_devlink(mlxsw_core), true, 0,
drivers/net/ethernet/mellanox/mlxsw/core.c
2451
__find_event_listener_item(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2456
list_for_each_entry(el_item, &mlxsw_core->event_listener_list, list) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2463
int mlxsw_core_event_listener_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
247
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
2475
el_item = __find_event_listener_item(mlxsw_core, el);
drivers/net/ethernet/mellanox/mlxsw/core.c
2481
el_item->mlxsw_core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
2485
err = mlxsw_core_rx_listener_register(mlxsw_core, &rxl, el_item, true);
drivers/net/ethernet/mellanox/mlxsw/core.c
2492
list_add_rcu(&el_item->list, &mlxsw_core->event_listener_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
2502
void mlxsw_core_event_listener_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2512
el_item = __find_event_listener_item(mlxsw_core, el);
drivers/net/ethernet/mellanox/mlxsw/core.c
2515
mlxsw_core_rx_listener_unregister(mlxsw_core, &rxl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2521
static int mlxsw_core_listener_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2527
return mlxsw_core_event_listener_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2531
return mlxsw_core_rx_listener_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2537
static void mlxsw_core_listener_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2542
mlxsw_core_event_listener_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2545
mlxsw_core_rx_listener_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2549
int mlxsw_core_trap_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2557
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
2560
err = mlxsw_core_listener_register(mlxsw_core, listener, priv,
drivers/net/ethernet/mellanox/mlxsw/core.c
257
static int mlxsw_core_trap_groups_set(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2571
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2578
mlxsw_core_listener_unregister(mlxsw_core, listener, priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
2583
void mlxsw_core_trap_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2589
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
2596
mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2599
mlxsw_core_listener_unregister(mlxsw_core, listener, priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
2603
int mlxsw_core_traps_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2610
err = mlxsw_core_trap_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2620
mlxsw_core_trap_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2628
void mlxsw_core_traps_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
263
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
2635
mlxsw_core_trap_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2642
int mlxsw_core_trap_state_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2660
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2664
mlxsw_core_rx_listener_state_set(mlxsw_core, &listener->rx_listener,
drivers/net/ethernet/mellanox/mlxsw/core.c
2670
static u64 mlxsw_core_tid_get(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2672
return atomic64_inc_return(&mlxsw_core->emad.tid);
drivers/net/ethernet/mellanox/mlxsw/core.c
2675
static int mlxsw_core_reg_access_emad(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2683
u64 tid = mlxsw_core_tid_get(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2691
err = mlxsw_emad_reg_access(mlxsw_core, reg, payload, type, trans,
drivers/net/ethernet/mellanox/mlxsw/core.c
2700
int mlxsw_reg_trans_query(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2705
return mlxsw_core_reg_access_emad(mlxsw_core, reg, payload,
drivers/net/ethernet/mellanox/mlxsw/core.c
271
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
2711
int mlxsw_reg_trans_write(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2716
return mlxsw_core_reg_access_emad(mlxsw_core, reg, payload,
drivers/net/ethernet/mellanox/mlxsw/core.c
2727
struct mlxsw_core *mlxsw_core = trans->core;
drivers/net/ethernet/mellanox/mlxsw/core.c
2735
dev_warn(mlxsw_core->bus_info->dev, "EMAD retries (%d/%d) (tid=%llx)\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2738
dev_err(mlxsw_core->bus_info->dev, "EMAD reg access failed (tid=%llx,reg_id=%x(%s),type=%s,status=%x(%s))\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2751
trace_devlink_hwerr(priv_to_devlink(mlxsw_core),
drivers/net/ethernet/mellanox/mlxsw/core.c
2780
void (*cb)(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2783
int mlxsw_core_irq_event_handler_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2792
mutex_lock(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2793
list_add_tail(&item->list, &mlxsw_core->irq_event_handler_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
2794
mutex_unlock(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2799
void mlxsw_core_irq_event_handler_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2804
mutex_lock(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2806
&mlxsw_core->irq_event_handler_list, list) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2812
mutex_unlock(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2816
void mlxsw_core_irq_event_handlers_call(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
2820
mutex_lock(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2821
list_for_each_entry(item, &mlxsw_core->irq_event_handler_list, list) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2823
item->cb(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
2825
mutex_unlock(&mlxsw_core->irq_event_handler_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
2829
static int mlxsw_core_reg_access_cmd(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2839
dev_dbg(mlxsw_core->bus_info->dev, "Reg cmd access (reg_id=%x(%s),type=%s)\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2854
mlxsw_core_tid_get(mlxsw_core));
drivers/net/ethernet/mellanox/mlxsw/core.c
2867
err = mlxsw_cmd_access_reg(mlxsw_core, reset_ok, in_mbox, out_mbox);
drivers/net/ethernet/mellanox/mlxsw/core.c
2873
dev_err(mlxsw_core->bus_info->dev, "Reg cmd access status failed (status=%x(%s))\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2886
dev_err(mlxsw_core->bus_info->dev, "Reg cmd access failed (reg_id=%x(%s),type=%s)\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2892
static void mlxsw_core_reg_access_cb(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2901
static int mlxsw_core_reg_access(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2913
if (!mlxsw_core->emad.use_emad)
drivers/net/ethernet/mellanox/mlxsw/core.c
2914
return mlxsw_core_reg_access_cmd(mlxsw_core, reg,
drivers/net/ethernet/mellanox/mlxsw/core.c
2917
err = mlxsw_core_reg_access_emad(mlxsw_core, reg,
drivers/net/ethernet/mellanox/mlxsw/core.c
2926
int mlxsw_reg_query(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2929
return mlxsw_core_reg_access(mlxsw_core, reg, payload,
drivers/net/ethernet/mellanox/mlxsw/core.c
2934
int mlxsw_reg_write(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2937
return mlxsw_core_reg_access(mlxsw_core, reg, payload,
drivers/net/ethernet/mellanox/mlxsw/core.c
2942
void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
drivers/net/ethernet/mellanox/mlxsw/core.c
2951
dev_dbg_ratelimited(mlxsw_core->bus_info->dev, "%s: lag_id = %d, lag_port_index = 0x%x\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2957
local_port = mlxsw_core_lag_mapping_get(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
2964
dev_dbg_ratelimited(mlxsw_core->bus_info->dev, "%s: local_port = %d, trap_id = 0x%x\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
2968
(local_port >= mlxsw_core->max_ports))
drivers/net/ethernet/mellanox/mlxsw/core.c
2972
list_for_each_entry_rcu(rxl_item, &mlxsw_core->rx_listener_list, list) {
drivers/net/ethernet/mellanox/mlxsw/core.c
2997
static int mlxsw_core_lag_mapping_index(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3000
return MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS) * lag_id +
drivers/net/ethernet/mellanox/mlxsw/core.c
3004
void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3007
int index = mlxsw_core_lag_mapping_index(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3010
mlxsw_core->lag.mapping[index] = local_port;
drivers/net/ethernet/mellanox/mlxsw/core.c
3014
u16 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3017
int index = mlxsw_core_lag_mapping_index(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3020
return mlxsw_core->lag.mapping[index];
drivers/net/ethernet/mellanox/mlxsw/core.c
3024
void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3029
for (i = 0; i < MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS); i++) {
drivers/net/ethernet/mellanox/mlxsw/core.c
3030
int index = mlxsw_core_lag_mapping_index(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3033
if (mlxsw_core->lag.mapping[index] == local_port)
drivers/net/ethernet/mellanox/mlxsw/core.c
3034
mlxsw_core->lag.mapping[index] = 0;
drivers/net/ethernet/mellanox/mlxsw/core.c
3039
bool mlxsw_core_res_valid(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3042
return mlxsw_res_valid(&mlxsw_core->res, res_id);
drivers/net/ethernet/mellanox/mlxsw/core.c
3046
u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3049
return mlxsw_res_get(&mlxsw_core->res, res_id);
drivers/net/ethernet/mellanox/mlxsw/core.c
3058
static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.c
3066
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
3068
&mlxsw_core->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/core.c
3086
linecard = mlxsw_linecard_get(mlxsw_core->linecards,
drivers/net/ethernet/mellanox/mlxsw/core.c
3099
static void __mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u16 local_port)
drivers/net/ethernet/mellanox/mlxsw/core.c
3102
&mlxsw_core->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/core.c
3109
int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.c
3118
err = __mlxsw_core_port_init(mlxsw_core, local_port,
drivers/net/ethernet/mellanox/mlxsw/core.c
3126
atomic_inc(&mlxsw_core->active_ports_count);
drivers/net/ethernet/mellanox/mlxsw/core.c
3131
void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u16 local_port)
drivers/net/ethernet/mellanox/mlxsw/core.c
3133
atomic_dec(&mlxsw_core->active_ports_count);
drivers/net/ethernet/mellanox/mlxsw/core.c
3135
__mlxsw_core_port_fini(mlxsw_core, local_port);
drivers/net/ethernet/mellanox/mlxsw/core.c
3139
int mlxsw_core_cpu_port_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3145
&mlxsw_core->ports[MLXSW_PORT_CPU_PORT];
drivers/net/ethernet/mellanox/mlxsw/core.c
3148
err = __mlxsw_core_port_init(mlxsw_core, MLXSW_PORT_CPU_PORT,
drivers/net/ethernet/mellanox/mlxsw/core.c
3160
void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3162
__mlxsw_core_port_fini(mlxsw_core, MLXSW_PORT_CPU_PORT);
drivers/net/ethernet/mellanox/mlxsw/core.c
3166
void mlxsw_core_port_netdev_link(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.c
3170
&mlxsw_core->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/core.c
3179
mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3183
&mlxsw_core->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/core.c
3191
mlxsw_core_port_linecard_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3195
&mlxsw_core->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/core.c
3200
void mlxsw_core_ports_remove_selected(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3204
if (WARN_ON_ONCE(!mlxsw_core->driver->ports_remove_selected))
drivers/net/ethernet/mellanox/mlxsw/core.c
3206
mlxsw_core->driver->ports_remove_selected(mlxsw_core, selector, priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
3209
struct mlxsw_env *mlxsw_core_env(const struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3211
return mlxsw_core->env;
drivers/net/ethernet/mellanox/mlxsw/core.c
3214
static void mlxsw_core_buf_dump_dbg(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3227
dev_dbg(mlxsw_core->bus_info->dev, "%04x - %08x %08x %08x %08x\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
3232
int mlxsw_cmd_exec(struct mlxsw_core *mlxsw_core, u16 opcode, u8 opcode_mod,
drivers/net/ethernet/mellanox/mlxsw/core.c
3241
if (!mlxsw_core->bus->cmd_exec)
drivers/net/ethernet/mellanox/mlxsw/core.c
3244
dev_dbg(mlxsw_core->bus_info->dev, "Cmd exec (opcode=%x(%s),opcode_mod=%x,in_mod=%x)\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
3247
dev_dbg(mlxsw_core->bus_info->dev, "Input mailbox:\n");
drivers/net/ethernet/mellanox/mlxsw/core.c
3248
mlxsw_core_buf_dump_dbg(mlxsw_core, in_mbox, in_mbox_size);
drivers/net/ethernet/mellanox/mlxsw/core.c
3251
err = mlxsw_core->bus->cmd_exec(mlxsw_core->bus_priv, opcode,
drivers/net/ethernet/mellanox/mlxsw/core.c
3257
dev_dbg(mlxsw_core->bus_info->dev, "Output mailbox:\n");
drivers/net/ethernet/mellanox/mlxsw/core.c
3258
mlxsw_core_buf_dump_dbg(mlxsw_core, out_mbox, out_mbox_size);
drivers/net/ethernet/mellanox/mlxsw/core.c
3265
dev_err(mlxsw_core->bus_info->dev, "Cmd exec failed (opcode=%x(%s),opcode_mod=%x,in_mod=%x,status=%x(%s))\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
3269
dev_err(mlxsw_core->bus_info->dev, "Cmd exec timed-out (opcode=%x(%s),opcode_mod=%x,in_mod=%x)\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
3296
int mlxsw_core_kvd_sizes_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
3301
struct mlxsw_driver *driver = mlxsw_core->driver;
drivers/net/ethernet/mellanox/mlxsw/core.c
3306
return driver->kvd_sizes_get(mlxsw_core, profile,
drivers/net/ethernet/mellanox/mlxsw/core.c
3312
int mlxsw_core_resources_query(struct mlxsw_core *mlxsw_core, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/core.c
3324
err = mlxsw_cmd_query_resources(mlxsw_core, mbox, index);
drivers/net/ethernet/mellanox/mlxsw/core.c
3346
u32 mlxsw_core_read_frc_h(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3348
return mlxsw_core->bus->read_frc_h(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
3352
u32 mlxsw_core_read_frc_l(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3354
return mlxsw_core->bus->read_frc_l(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
3358
u32 mlxsw_core_read_utc_sec(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3360
return mlxsw_core->bus->read_utc_sec(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
3364
u32 mlxsw_core_read_utc_nsec(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3366
return mlxsw_core->bus->read_utc_nsec(mlxsw_core->bus_priv);
drivers/net/ethernet/mellanox/mlxsw/core.c
3370
bool mlxsw_core_sdq_supports_cqe_v2(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
3372
return mlxsw_core->driver->sdq_supports_cqe_v2;
drivers/net/ethernet/mellanox/mlxsw/core.c
517
static void mlxsw_emad_construct(const struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
531
if (mlxsw_core->emad.enable_latency_tlv) {
drivers/net/ethernet/mellanox/mlxsw/core.c
536
if (mlxsw_core->emad.enable_string_tlv) {
drivers/net/ethernet/mellanox/mlxsw/core.c
679
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/core.c
731
static int mlxsw_emad_transmit(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
741
trace_devlink_hwmsg(priv_to_devlink(mlxsw_core), false, 0, skb->data,
drivers/net/ethernet/mellanox/mlxsw/core.c
745
err = mlxsw_core_skb_transmit(mlxsw_core, skb, &trans->txhdr_info);
drivers/net/ethernet/mellanox/mlxsw/core.c
756
struct mlxsw_core *mlxsw_core = trans->core;
drivers/net/ethernet/mellanox/mlxsw/core.c
759
spin_lock_bh(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
761
spin_unlock_bh(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
766
static void mlxsw_emad_transmit_retry(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
797
static void mlxsw_emad_process_response(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
808
mlxsw_emad_transmit_retry(mlxsw_core, trans);
drivers/net/ethernet/mellanox/mlxsw/core.c
814
trans->cb(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
828
struct mlxsw_core *mlxsw_core = priv;
drivers/net/ethernet/mellanox/mlxsw/core.c
831
trace_devlink_hwmsg(priv_to_devlink(mlxsw_core), true, 0,
drivers/net/ethernet/mellanox/mlxsw/core.c
839
list_for_each_entry_rcu(trans, &mlxsw_core->emad.trans_list, list) {
drivers/net/ethernet/mellanox/mlxsw/core.c
841
mlxsw_emad_process_response(mlxsw_core, trans, skb);
drivers/net/ethernet/mellanox/mlxsw/core.c
854
static int mlxsw_emad_tlv_enable(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
861
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mgir), mgir_pl);
drivers/net/ethernet/mellanox/mlxsw/core.c
866
mlxsw_core->emad.enable_string_tlv = string_tlv;
drivers/net/ethernet/mellanox/mlxsw/core.c
869
mlxsw_core->emad.enable_latency_tlv = latency_tlv;
drivers/net/ethernet/mellanox/mlxsw/core.c
874
static void mlxsw_emad_tlv_disable(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
876
mlxsw_core->emad.enable_latency_tlv = false;
drivers/net/ethernet/mellanox/mlxsw/core.c
877
mlxsw_core->emad.enable_string_tlv = false;
drivers/net/ethernet/mellanox/mlxsw/core.c
880
static int mlxsw_emad_init(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
886
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
892
mlxsw_core->emad_wq = emad_wq;
drivers/net/ethernet/mellanox/mlxsw/core.c
900
atomic64_set(&mlxsw_core->emad.tid, tid);
drivers/net/ethernet/mellanox/mlxsw/core.c
902
INIT_LIST_HEAD(&mlxsw_core->emad.trans_list);
drivers/net/ethernet/mellanox/mlxsw/core.c
903
spin_lock_init(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.c
905
err = mlxsw_core_trap_register(mlxsw_core, &mlxsw_emad_rx_listener,
drivers/net/ethernet/mellanox/mlxsw/core.c
906
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
910
err = mlxsw_emad_tlv_enable(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
914
mlxsw_core->emad.use_emad = true;
drivers/net/ethernet/mellanox/mlxsw/core.c
919
mlxsw_core_trap_unregister(mlxsw_core, &mlxsw_emad_rx_listener,
drivers/net/ethernet/mellanox/mlxsw/core.c
920
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
922
destroy_workqueue(mlxsw_core->emad_wq);
drivers/net/ethernet/mellanox/mlxsw/core.c
926
static void mlxsw_emad_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.c
929
if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX))
drivers/net/ethernet/mellanox/mlxsw/core.c
932
mlxsw_core->emad.use_emad = false;
drivers/net/ethernet/mellanox/mlxsw/core.c
933
mlxsw_emad_tlv_disable(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
934
mlxsw_core_trap_unregister(mlxsw_core, &mlxsw_emad_rx_listener,
drivers/net/ethernet/mellanox/mlxsw/core.c
935
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.c
936
destroy_workqueue(mlxsw_core->emad_wq);
drivers/net/ethernet/mellanox/mlxsw/core.c
939
static struct sk_buff *mlxsw_emad_alloc(const struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
948
if (mlxsw_core->emad.enable_string_tlv)
drivers/net/ethernet/mellanox/mlxsw/core.c
950
if (mlxsw_core->emad.enable_latency_tlv)
drivers/net/ethernet/mellanox/mlxsw/core.c
964
static int mlxsw_emad_reg_access(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.c
976
dev_dbg(mlxsw_core->bus_info->dev, "EMAD reg access (tid=%llx,reg_id=%x(%s),type=%s)\n",
drivers/net/ethernet/mellanox/mlxsw/core.c
980
skb = mlxsw_emad_alloc(mlxsw_core, reg->len);
drivers/net/ethernet/mellanox/mlxsw/core.c
985
trans->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.c
997
mlxsw_emad_construct(mlxsw_core, skb, reg, payload, type, trans->tid);
drivers/net/ethernet/mellanox/mlxsw/core.c
999
spin_lock_bh(&mlxsw_core->emad.trans_list_lock);
drivers/net/ethernet/mellanox/mlxsw/core.h
101
bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
103
int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
drivers/net/ethernet/mellanox/mlxsw/core.h
105
void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
190
int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
193
void mlxsw_core_rx_listener_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
196
int mlxsw_core_event_listener_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
199
void mlxsw_core_event_listener_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
202
int mlxsw_core_trap_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
205
void mlxsw_core_trap_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
208
int mlxsw_core_traps_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
211
void mlxsw_core_traps_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
214
int mlxsw_core_trap_state_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
218
typedef void mlxsw_reg_trans_cb_t(struct mlxsw_core *mlxsw_core, char *payload,
drivers/net/ethernet/mellanox/mlxsw/core.h
221
int mlxsw_reg_trans_query(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
225
int mlxsw_reg_trans_write(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
231
typedef void mlxsw_irq_event_cb_t(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
233
int mlxsw_core_irq_event_handler_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
235
void mlxsw_core_irq_event_handler_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
237
void mlxsw_core_irq_event_handlers_call(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
239
int mlxsw_reg_query(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
241
int mlxsw_reg_write(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
255
void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
drivers/net/ethernet/mellanox/mlxsw/core.h
258
void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
260
u16 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
262
void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
266
int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.h
272
void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u16 local_port);
drivers/net/ethernet/mellanox/mlxsw/core.h
273
int mlxsw_core_cpu_port_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
277
void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
278
void mlxsw_core_port_netdev_link(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.h
282
mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
285
mlxsw_core_port_linecard_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
287
void mlxsw_core_ports_remove_selected(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
29
struct mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.h
291
struct mlxsw_env *mlxsw_core_env(const struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
296
int mlxsw_core_resources_query(struct mlxsw_core *mlxsw_core, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/core.h
36
unsigned int mlxsw_core_max_ports(const struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
365
int (*init)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
368
void (*fini)(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
369
int (*port_split)(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.h
371
int (*port_unsplit)(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/core.h
373
void (*ports_remove_selected)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
377
int (*sb_pool_get)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
38
int mlxsw_core_max_lag(struct mlxsw_core *mlxsw_core, u16 *p_max_lag);
drivers/net/ethernet/mellanox/mlxsw/core.h
380
int (*sb_pool_set)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
399
int (*sb_occ_snapshot)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
40
mlxsw_core_lag_mode(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
401
int (*sb_occ_max_clear)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
410
int (*trap_init)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
412
void (*trap_fini)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
414
int (*trap_action_set)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
418
int (*trap_group_init)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
42
mlxsw_core_flood_mode(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
420
int (*trap_group_set)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
424
int (*trap_policer_init)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
426
void (*trap_policer_fini)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
428
int (*trap_policer_set)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
432
int (*trap_policer_counter_get)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
435
int (*resources_register)(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
436
int (*kvd_sizes_get)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
44
void *mlxsw_core_driver_priv(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
444
void (*ptp_transmitted)(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
451
int mlxsw_core_kvd_sizes_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
456
u32 mlxsw_core_read_frc_h(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
457
u32 mlxsw_core_read_frc_l(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
459
u32 mlxsw_core_read_utc_sec(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
46
struct mlxsw_linecards *mlxsw_core_linecards(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
460
u32 mlxsw_core_read_utc_nsec(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
462
bool mlxsw_core_sdq_supports_cqe_v2(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
464
bool mlxsw_core_res_valid(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
467
#define MLXSW_CORE_RES_VALID(mlxsw_core, short_res_id) \
drivers/net/ethernet/mellanox/mlxsw/core.h
468
mlxsw_core_res_valid(mlxsw_core, MLXSW_RES_ID_##short_res_id)
drivers/net/ethernet/mellanox/mlxsw/core.h
470
u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
473
#define MLXSW_CORE_RES_GET(mlxsw_core, short_res_id) \
drivers/net/ethernet/mellanox/mlxsw/core.h
474
mlxsw_core_res_get(mlxsw_core, MLXSW_RES_ID_##short_res_id)
drivers/net/ethernet/mellanox/mlxsw/core.h
476
static inline struct net *mlxsw_core_net(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core.h
478
return devlink_net(priv_to_devlink(mlxsw_core));
drivers/net/ethernet/mellanox/mlxsw/core.h
48
void mlxsw_core_linecards_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
486
int (*init)(void *bus_priv, struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
530
int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
537
static inline int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
554
int mlxsw_thermal_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
561
static inline int mlxsw_thermal_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
58
int mlxsw_core_fw_flash(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
638
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core.h
661
int mlxsw_linecards_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
663
void mlxsw_linecards_fini(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core.h
665
typedef void mlxsw_linecards_event_op_t(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
673
int mlxsw_linecards_event_ops_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
676
void mlxsw_linecards_event_ops_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core.h
68
void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core, bool reload);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1002
static int mlxsw_env_temp_warn_event_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1004
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1006
return mlxsw_core_trap_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
103
mlxsw_env_validate_cable_ident(struct mlxsw_core *core, u8 slot_index, int id,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1098
mlxsw_env_module_plug_event_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1100
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1102
return mlxsw_core_trap_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1116
mlxsw_env_module_oper_state_event_enable(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1119
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1129
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(pmaos), pmaos_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1137
mlxsw_env_module_overheat_counter_get(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1140
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1144
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1152
void mlxsw_env_module_port_map(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1155
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1159
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1165
void mlxsw_env_module_port_unmap(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1168
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1172
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1178
int mlxsw_env_module_port_up(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1181
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1187
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1198
err = __mlxsw_env_set_module_power_mode(mlxsw_core, slot_index, module,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1211
void mlxsw_env_module_port_down(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1214
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1219
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1232
__mlxsw_env_set_module_power_mode(mlxsw_core, slot_index, module, true,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1301
mlxsw_env_module_type_set(struct mlxsw_core *mlxsw_core, u8 slot_index)
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1303
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1312
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(pmtm), pmtm_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1316
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1325
mlxsw_env_linecard_modules_power_mode_apply(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1339
err = mlxsw_env_set_module_power_mode_apply(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1348
mlxsw_env_got_active(struct mlxsw_core *mlxsw_core, u8 slot_index, void *priv)
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1382
mlxsw_env_linecard_modules_power_mode_apply(mlxsw_core, mlxsw_env,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1396
mlxsw_env_got_inactive(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1432
int mlxsw_env_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1442
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mgpir), mgpir_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1459
env->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_env.c
146
mlxsw_env_query_module_eeprom(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1475
err = mlxsw_env_temp_warn_event_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1479
err = mlxsw_env_module_plug_event_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
1495
err = mlxsw_env_module_type_set(mlxsw_core, 0);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
150
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
192
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcia), mcia_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
208
mlxsw_env_module_temp_thresholds_get(struct mlxsw_core *core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
290
struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
293
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
305
err = mlxsw_env_validate_module_type(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
31
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/core_env.c
312
err = mlxsw_env_query_module_eeprom(mlxsw_core, slot_index, module, 0,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
343
err = mlxsw_env_query_module_eeprom(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
385
struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
389
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
406
err = mlxsw_env_validate_cable_ident(mlxsw_core, slot_index, module,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
412
err = mlxsw_env_query_module_eeprom(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
459
mlxsw_env_get_module_eeprom_by_page(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
464
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
475
err = mlxsw_env_validate_module_type(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
497
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcia), mcia_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
517
mlxsw_env_set_module_eeprom_by_page(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
522
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
533
err = mlxsw_env_validate_module_type(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
556
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mcia), mcia_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
573
static int mlxsw_env_module_reset(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
581
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(pmaos), pmaos_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
585
struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
588
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
59
mlxsw_env_module_info *mlxsw_env_module_info_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
604
err = __mlxsw_env_validate_module_type(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
610
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
62
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
624
err = mlxsw_env_module_reset(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
639
mlxsw_env_get_module_power_mode(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
644
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
652
err = __mlxsw_env_validate_module_type(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
658
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
666
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcion), mcion_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
67
static int __mlxsw_env_validate_module_type(struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
687
static int mlxsw_env_module_enable_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
699
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(pmaos), pmaos_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
702
static int mlxsw_env_module_low_power_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
718
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(pmmp), pmmp_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
721
static int __mlxsw_env_set_module_power_mode(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
726
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
736
err = mlxsw_env_module_enable_set(mlxsw_core, slot_index, module, false);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
742
err = mlxsw_env_module_low_power_set(mlxsw_core, slot_index, module,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
749
err = mlxsw_env_module_enable_set(mlxsw_core, slot_index, module, true);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
758
mlxsw_env_module_low_power_set(mlxsw_core, slot_index, module,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
761
mlxsw_env_module_enable_set(mlxsw_core, slot_index, module, true);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
766
mlxsw_env_set_module_power_mode_apply(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
775
err = __mlxsw_env_validate_module_type(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
782
module_info = mlxsw_env_module_info_get(mlxsw_core, slot_index, module);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
791
err = __mlxsw_env_set_module_power_mode(mlxsw_core, slot_index, module,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
803
mlxsw_env_set_module_power_mode(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
808
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
818
err = mlxsw_env_set_module_power_mode_apply(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
826
static int mlxsw_env_module_has_temp_sensor(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
836
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mtbr), mtbr_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
856
mlxsw_env_temp_event_set(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
865
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mtmp), mtmp_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
870
err = mlxsw_env_module_temp_thresholds_get(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
89
static int mlxsw_env_validate_module_type(struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
895
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtmp), mtmp_pl);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
898
static int mlxsw_env_module_temp_event_enable(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
901
struct mlxsw_env *mlxsw_env = mlxsw_core_env(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_env.c
906
err = mlxsw_env_module_has_temp_sensor(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.c
915
err = mlxsw_env_temp_event_set(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
12
int mlxsw_env_module_temp_thresholds_get(struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
17
struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
21
struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
26
mlxsw_env_get_module_eeprom_by_page(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
32
mlxsw_env_set_module_eeprom_by_page(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
38
struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
42
mlxsw_env_get_module_power_mode(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
48
mlxsw_env_set_module_power_mode(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
54
mlxsw_env_module_overheat_counter_get(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
57
void mlxsw_env_module_port_map(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
60
void mlxsw_env_module_port_unmap(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
63
int mlxsw_env_module_port_up(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
66
void mlxsw_env_module_port_down(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_env.h
69
int mlxsw_env_init(struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
60
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
788
mlxsw_hwmon_got_active(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
836
mlxsw_hwmon_got_inactive(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
856
int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
867
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mgpir), mgpir_pl);
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
878
mlxsw_hwmon->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1009
mlxsw_linecard_ini_in_use_wait(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1041
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1043
mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1044
return linecard == mlxsw_core_port_linecard_get(mlxsw_core, local_port);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1054
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1059
mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1061
err = mlxsw_linecard_ini_erase(mlxsw_core, linecard, extack);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1065
err = mlxsw_linecard_ini_transfer(mlxsw_core, linecard,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
107
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1072
err = mlxsw_linecard_ini_activate(mlxsw_core, linecard, extack);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1090
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1095
mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1097
mlxsw_core_ports_remove_selected(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1101
err = mlxsw_linecard_ini_in_use_wait(mlxsw_core, linecard, extack);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1107
err = mlxsw_linecard_ini_erase(mlxsw_core, linecard, extack);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1170
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1179
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
118
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1182
mlxsw_core = event->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1183
linecards = mlxsw_core_linecards(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1193
struct mlxsw_core *mlxsw_core = priv;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1198
event->mlxsw_core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1205
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1213
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1216
mlxsw_core = event->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1217
mlxsw_linecard_bct_process(mlxsw_core, event->mbct_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1226
struct mlxsw_core *mlxsw_core = priv;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1231
event->mlxsw_core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1242
static int mlxsw_linecard_event_delivery_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1249
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddq), mddq_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1252
static int mlxsw_linecard_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1264
devlink_linecard = devl_linecard_create(priv_to_devlink(mlxsw_core),
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1277
static void mlxsw_linecard_fini(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1295
mlxsw_linecard_event_delivery_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1303
err = mlxsw_linecard_event_delivery_set(mlxsw_core, linecard, true);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1307
err = mlxsw_linecard_status_get_and_process(mlxsw_core, linecards,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1315
mlxsw_linecard_event_delivery_set(mlxsw_core, linecard, false);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1320
mlxsw_linecard_event_delivery_fini(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1327
mlxsw_linecard_event_delivery_set(mlxsw_core, linecard, false);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
137
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1427
static int mlxsw_linecard_types_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
148
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1503
int mlxsw_linecards_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1513
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mgpir), mgpir_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1526
linecards->mlxsw_core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1531
err = mlxsw_linecard_types_init(mlxsw_core, linecards);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1535
err = mlxsw_core_traps_register(mlxsw_core, mlxsw_linecard_listener,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1537
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1541
err = mlxsw_core_irq_event_handler_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1546
mlxsw_core_linecards_set(mlxsw_core, linecards);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1549
err = mlxsw_linecard_init(mlxsw_core, linecards, i + 1);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1555
err = mlxsw_linecard_event_delivery_init(mlxsw_core, linecards,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1565
mlxsw_linecard_event_delivery_fini(mlxsw_core, linecards, i + 1);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1569
mlxsw_linecard_fini(mlxsw_core, linecards, i + 1);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1570
mlxsw_core_irq_event_handler_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1573
mlxsw_core_traps_unregister(mlxsw_core, mlxsw_linecard_listener,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1575
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1583
void mlxsw_linecards_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1585
struct mlxsw_linecards *linecards = mlxsw_core_linecards(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1591
mlxsw_linecard_event_delivery_fini(mlxsw_core, linecards, i + 1);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1593
mlxsw_linecard_fini(mlxsw_core, linecards, i + 1);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1594
mlxsw_core_irq_event_handler_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1596
mlxsw_core_traps_unregister(mlxsw_core, mlxsw_linecard_listener,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
1598
mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
162
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
175
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
185
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
197
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
206
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
217
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
227
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
237
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
247
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
260
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
272
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
290
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
300
mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
310
struct mlxsw_core *mlxsw_core = info->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
321
mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
341
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
349
.mlxsw_core = mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
360
err = mlxsw_core_fw_flash(mlxsw_core, &info.mlxfw_dev,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
370
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
380
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddt), mddt_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
390
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
404
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddq), mddq_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
454
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
458
op(mlxsw_core, linecard->slot_index, priv);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
525
int mlxsw_linecards_event_ops_register(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
529
struct mlxsw_linecards *linecards = mlxsw_core_linecards(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
548
void mlxsw_linecards_event_ops_unregister(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
552
struct mlxsw_linecards *linecards = mlxsw_core_linecards(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
671
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
680
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddc), mddc_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
689
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
694
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mddc), mddc_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
775
static int mlxsw_linecard_status_get_and_process(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
783
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddq), mddq_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
79
struct mlxsw_core *mlxsw_core = linecard->linecards->mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
790
static void mlxsw_linecards_irq_event_handler(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
792
struct mlxsw_linecards *linecards = mlxsw_core_linecards(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
800
mlxsw_linecard_status_get_and_process(mlxsw_core, linecards,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
830
return mlxsw_reg_write(linecard->linecards->mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
84
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mddq), mddq_pl);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
852
err = mlxsw_reg_query(linecard->linecards->mlxsw_core, MLXSW_REG(mbct),
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
863
mlxsw_linecard_ini_transfer(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
889
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mbct),
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
911
mlxsw_linecard_ini_erase(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
921
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mbct),
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
93
struct mlxsw_core *mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
948
static void mlxsw_linecard_bct_process(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
951
struct mlxsw_linecards *linecards = mlxsw_core_linecards(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
977
mlxsw_linecard_ini_activate(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
987
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mbct), linecard->mbct_pl);
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
128
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
415
mlxsw_thermal_modules_init(struct device *dev, struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
501
mlxsw_thermal_gearboxes_init(struct device *dev, struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
567
mlxsw_thermal_got_active(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
605
mlxsw_thermal_got_inactive(struct mlxsw_core *mlxsw_core, u8 slot_index,
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
624
int mlxsw_thermal_init(struct mlxsw_core *core,
drivers/net/ethernet/mellanox/mlxsw/i2c.c
524
mlxsw_i2c_init(void *bus_priv, struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/i2c.c
532
mlxsw_i2c->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/i2c.c
538
err = mlxsw_cmd_query_fw(mlxsw_core, mbox);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
549
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
89
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
109
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
121
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
134
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
148
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
159
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
172
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
185
struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
35
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
555
mlxsw_m_ports_remove_selected(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/minimal.c
559
struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/minimal.c
591
mlxsw_m_got_active(struct mlxsw_core *mlxsw_core, u8 slot_index, void *priv)
drivers/net/ethernet/mellanox/mlxsw/minimal.c
625
mlxsw_m_got_inactive(struct mlxsw_core *mlxsw_core, u8 slot_index, void *priv)
drivers/net/ethernet/mellanox/mlxsw/minimal.c
644
static int mlxsw_m_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/minimal.c
648
struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/minimal.c
651
mlxsw_m->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
670
err = mlxsw_linecards_event_ops_register(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/minimal.c
686
mlxsw_linecards_event_ops_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/minimal.c
693
static void mlxsw_m_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/minimal.c
695
struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/minimal.c
698
mlxsw_linecards_event_ops_unregister(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/pci.c
118
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1919
static int mlxsw_pci_init(void *bus_priv, struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1929
mlxsw_pci->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1945
err = mlxsw_cmd_query_fw(mlxsw_core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2011
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2015
if (MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V2) &&
drivers/net/ethernet/mellanox/mlxsw/pci.c
2016
MLXSW_CORE_RES_GET(mlxsw_core, CQE_V2))
drivers/net/ethernet/mellanox/mlxsw/pci.c
2018
else if (MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V1) &&
drivers/net/ethernet/mellanox/mlxsw/pci.c
2019
MLXSW_CORE_RES_GET(mlxsw_core, CQE_V1))
drivers/net/ethernet/mellanox/mlxsw/pci.c
2021
else if ((MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V0) &&
drivers/net/ethernet/mellanox/mlxsw/pci.c
2022
MLXSW_CORE_RES_GET(mlxsw_core, CQE_V0)) ||
drivers/net/ethernet/mellanox/mlxsw/pci.c
2023
!MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V0)) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
2037
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
179
static void mlxsw_sp_txhdr_info_data_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
184
u16 max_fid = MLXSW_CORE_RES_GET(mlxsw_core, FID);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1946
mlxsw_sp_ports_remove_selected(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1950
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1951
unsigned int max_ports = mlxsw_core_max_ports(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2107
static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2111
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2136
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(pmtdb), pmtdb_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2172
static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u16 local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2175
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2202
err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(pmtdb), pmtdb_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2395
static int mlxsw_sp_cpu_policers_set(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2397
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2406
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_CPU_POLICERS))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2409
max_cpu_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_CPU_POLICERS);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2428
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(qpcr), qpcr_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2436
static int mlxsw_sp_trap_groups_set(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2446
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_TRAP_GROUPS))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2449
max_trap_groups = MLXSW_CORE_RES_GET(mlxsw_core, MAX_TRAP_GROUPS);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2450
max_cpu_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_CPU_POLICERS);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2475
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2995
static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2999
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3002
mlxsw_sp->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3234
static int mlxsw_sp1_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3238
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3264
return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3267
static int mlxsw_sp2_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3271
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3298
return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3301
static int mlxsw_sp3_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3305
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3332
return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3335
static int mlxsw_sp4_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3339
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3366
return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3369
static void mlxsw_sp_fini(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3371
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3475
mlxsw_sp_resource_size_params_prepare(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3481
u32 single_size_min = MLXSW_CORE_RES_GET(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3483
u32 double_size_min = MLXSW_CORE_RES_GET(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3485
u32 kvd_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3510
static int mlxsw_sp1_resources_kvd_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3512
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3522
if (!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_SIZE))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3525
mlxsw_sp_resource_size_params_prepare(mlxsw_core, &kvd_size_params,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3530
kvd_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3547
err = mlxsw_sp1_kvdl_resources_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3576
static int mlxsw_sp2_resources_kvd_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3578
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3582
if (!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_SIZE))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3585
kvd_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3596
static int mlxsw_sp_resources_span_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3598
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3602
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_SPAN))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3605
max_span = MLXSW_CORE_RES_GET(mlxsw_core, MAX_SPAN);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3616
mlxsw_sp_resources_rif_mac_profile_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3618
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3622
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_RIF_MAC_PROFILES))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3625
max_rif_mac_profiles = MLXSW_CORE_RES_GET(mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3639
static int mlxsw_sp_resources_rifs_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3641
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3645
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_RIFS))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3648
max_rifs = MLXSW_CORE_RES_GET(mlxsw_core, MAX_RIFS);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3659
mlxsw_sp_resources_port_range_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3661
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3665
if (!MLXSW_CORE_RES_VALID(mlxsw_core, ACL_MAX_L4_PORT_RANGE))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3668
max = MLXSW_CORE_RES_GET(mlxsw_core, ACL_MAX_L4_PORT_RANGE);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3678
static int mlxsw_sp1_resources_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3682
err = mlxsw_sp1_resources_kvd_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3686
err = mlxsw_sp_resources_span_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3690
err = mlxsw_sp_counter_resources_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3694
err = mlxsw_sp_policer_resources_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3698
err = mlxsw_sp_resources_rif_mac_profile_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3702
err = mlxsw_sp_resources_rifs_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3706
err = mlxsw_sp_resources_port_range_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3718
devl_resources_unregister(priv_to_devlink(mlxsw_core));
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3722
static int mlxsw_sp2_resources_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3726
err = mlxsw_sp2_resources_kvd_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3730
err = mlxsw_sp_resources_span_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3734
err = mlxsw_sp_counter_resources_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3738
err = mlxsw_sp_policer_resources_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3742
err = mlxsw_sp_resources_rif_mac_profile_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3746
err = mlxsw_sp_resources_rifs_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3750
err = mlxsw_sp_resources_port_range_register(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3762
devl_resources_unregister(priv_to_devlink(mlxsw_core));
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3766
static int mlxsw_sp_kvd_sizes_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3771
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3775
if (!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_SINGLE_MIN_SIZE) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3776
!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_DOUBLE_MIN_SIZE))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3796
double_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) -
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3809
*p_single_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) -
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3813
if (*p_single_size < MLXSW_CORE_RES_GET(mlxsw_core, KVD_SINGLE_MIN_SIZE) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3814
*p_double_size < MLXSW_CORE_RES_GET(mlxsw_core, KVD_DOUBLE_MIN_SIZE) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3815
MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) < *p_linear_size)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3821
static void mlxsw_sp_ptp_transmitted(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3824
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1400
int mlxsw_sp_trap_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1402
void mlxsw_sp_trap_fini(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1404
int mlxsw_sp_trap_action_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1408
int mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1410
int mlxsw_sp_trap_group_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1415
mlxsw_sp_trap_policer_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1417
void mlxsw_sp_trap_policer_fini(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1420
mlxsw_sp_trap_policer_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1424
mlxsw_sp_trap_policer_counter_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1469
int mlxsw_sp_policer_resources_register(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
159
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
582
int mlxsw_sp_sb_pool_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
585
int mlxsw_sp_sb_pool_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
604
int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
606
int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
829
int mlxsw_sp1_kvdl_resources_register(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
384
int mlxsw_sp1_kvdl_resources_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
386
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
391
kvdl_max_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) -
drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
392
MLXSW_CORE_RES_GET(mlxsw_core, KVD_SINGLE_MIN_SIZE) -
drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
393
MLXSW_CORE_RES_GET(mlxsw_core, KVD_DOUBLE_MIN_SIZE);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1495
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1499
mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1511
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1520
mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1354
int mlxsw_sp_sb_pool_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1358
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1371
int mlxsw_sp_sb_pool_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1376
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1558
static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1562
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1574
local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1593
local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1607
int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1611
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1639
for (; local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1669
err = mlxsw_reg_trans_query(mlxsw_core, MLXSW_REG(sbsr), sbsr_pl,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1674
if (local_port < mlxsw_core_max_ports(mlxsw_core)) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1687
int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1690
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1717
for (; local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1744
err = mlxsw_reg_trans_query(mlxsw_core, MLXSW_REG(sbsr), sbsr_pl,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1748
if (local_port < mlxsw_core_max_ports(mlxsw_core)) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
288
static void mlxsw_sp_sb_pm_occ_query_cb(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
240
int mlxsw_sp_counter_resources_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
243
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
253
if (!MLXSW_CORE_RES_VALID(mlxsw_core, COUNTER_POOL_SIZE) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
254
!MLXSW_CORE_RES_VALID(mlxsw_core, COUNTER_BANK_SIZE))
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
257
pool_size = MLXSW_CORE_RES_GET(mlxsw_core, COUNTER_POOL_SIZE);
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
258
bank_size = MLXSW_CORE_RES_GET(mlxsw_core, COUNTER_BANK_SIZE);
drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.h
23
int mlxsw_sp_counter_resources_register(struct mlxsw_core *mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
575
struct mlxsw_core *mlxsw_core = mlxsw_sp_port->mlxsw_sp->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
581
err = mlxsw_env_module_overheat_counter_get(mlxsw_core, slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
397
struct mlxsw_core *core = fid_family->mlxsw_sp->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
404
int mlxsw_sp_policer_resources_register(struct mlxsw_core *mlxsw_core)
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
407
struct devlink *devlink = priv_to_devlink(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
411
if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_GLOBAL_POLICERS) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
412
!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_CPU_POLICERS))
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
415
global_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_GLOBAL_POLICERS);
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
416
cpu_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_CPU_POLICERS);
drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
82
struct mlxsw_core *core = family->mlxsw_sp->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_port_range.c
163
struct mlxsw_core *core = mlxsw_sp->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
115
struct mlxsw_core *mlxsw_core = clock->common.core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
118
frc_h1 = mlxsw_core_read_frc_h(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
120
frc_l = mlxsw_core_read_frc_l(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
122
frc_h2 = mlxsw_core_read_frc_h(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
127
frc_l = mlxsw_core_read_frc_l(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1392
static u32 mlxsw_ptp_utc_time_stamp_sec_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1395
u32 utc_sec = mlxsw_core_read_utc_sec(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1409
static void mlxsw_sp2_ptp_hwtstamp_fill(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1424
ts_sec = mlxsw_ptp_utc_time_stamp_sec_get(mlxsw_core, cb->cqe_ts.sec);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
145
struct mlxsw_core *mlxsw_core = clock->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
150
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
166
struct mlxsw_core *mlxsw_core = clock->common.core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
180
err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtpps), mtpps_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
187
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
340
struct mlxsw_core *mlxsw_core = clock->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
343
utc_sec1 = mlxsw_core_read_utc_sec(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
345
utc_nsec = mlxsw_core_read_utc_nsec(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
347
utc_sec2 = mlxsw_core_read_utc_sec(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
352
utc_nsec = mlxsw_core_read_utc_nsec(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
362
struct mlxsw_core *mlxsw_core = clock->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
370
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
390
struct mlxsw_core *mlxsw_core = clock->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
406
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
77
struct mlxsw_core *core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
11062
struct mlxsw_core *core = mlxsw_sp->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1568
int mlxsw_sp_trap_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1571
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1586
err = mlxsw_core_trap_register(mlxsw_core, listener, trap_ctx);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1594
void mlxsw_sp_trap_fini(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1597
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1611
mlxsw_core_trap_unregister(mlxsw_core, listener, trap_ctx);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1615
int mlxsw_sp_trap_action_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1620
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1652
err = mlxsw_core_trap_state_set(mlxsw_core, listener, enabled);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1661
__mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1665
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1691
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1694
int mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1697
return __mlxsw_sp_trap_group_init(mlxsw_core, group,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1701
int mlxsw_sp_trap_group_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1708
return __mlxsw_sp_trap_group_init(mlxsw_core, group, policer_id,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1773
int mlxsw_sp_trap_policer_init(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1776
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1801
void mlxsw_sp_trap_policer_fini(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1804
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1814
int mlxsw_sp_trap_policer_set(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1819
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1831
mlxsw_sp_trap_policer_counter_get(struct mlxsw_core *mlxsw_core,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
1835
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);