Home
last modified time | relevance | path

Searched refs:mlxsw_core (Results 1 – 22 of 22) sorted by relevance

/drivers/net/ethernet/mellanox/mlxsw/
Dcore.h27 struct mlxsw_core;
34 unsigned int mlxsw_core_max_ports(const struct mlxsw_core *mlxsw_core);
36 void *mlxsw_core_driver_priv(struct mlxsw_core *mlxsw_core);
38 bool mlxsw_core_res_query_enabled(const struct mlxsw_core *mlxsw_core);
40 bool mlxsw_core_temp_warn_enabled(const struct mlxsw_core *mlxsw_core);
54 void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core, bool reload);
80 bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core,
82 int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
84 void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core,
166 int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
[all …]
Dcore.c64 struct mlxsw_core { struct
102 struct mlxsw_core *mlxsw_core = priv; in mlxsw_ports_occ_get() argument
104 return atomic_read(&mlxsw_core->active_ports_count); in mlxsw_ports_occ_get()
107 static int mlxsw_core_resources_ports_register(struct mlxsw_core *mlxsw_core) in mlxsw_core_resources_ports_register() argument
109 struct devlink *devlink = priv_to_devlink(mlxsw_core); in mlxsw_core_resources_ports_register()
113 max_ports = mlxsw_core->max_ports - 1; in mlxsw_core_resources_ports_register()
125 static int mlxsw_ports_init(struct mlxsw_core *mlxsw_core, bool reload) in mlxsw_ports_init() argument
127 struct devlink *devlink = priv_to_devlink(mlxsw_core); in mlxsw_ports_init()
131 if (MLXSW_CORE_RES_VALID(mlxsw_core, MAX_SYSTEM_PORT)) in mlxsw_ports_init()
132 mlxsw_core->max_ports = MLXSW_CORE_RES_GET(mlxsw_core, in mlxsw_ports_init()
[all …]
Dcmd.h26 struct mlxsw_core;
28 int mlxsw_cmd_exec(struct mlxsw_core *mlxsw_core, u16 opcode, u8 opcode_mod,
33 static inline int mlxsw_cmd_exec_in(struct mlxsw_core *mlxsw_core, u16 opcode, in mlxsw_cmd_exec_in() argument
37 return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, false, in mlxsw_cmd_exec_in()
41 static inline int mlxsw_cmd_exec_out(struct mlxsw_core *mlxsw_core, u16 opcode, in mlxsw_cmd_exec_out() argument
46 return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, in mlxsw_cmd_exec_out()
51 static inline int mlxsw_cmd_exec_none(struct mlxsw_core *mlxsw_core, u16 opcode, in mlxsw_cmd_exec_none() argument
54 return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, false, in mlxsw_cmd_exec_none()
199 static inline int mlxsw_cmd_query_fw(struct mlxsw_core *mlxsw_core, in mlxsw_cmd_query_fw() argument
202 return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_FW, in mlxsw_cmd_query_fw()
[all …]
Dcore_env.c20 struct mlxsw_core *core;
26 static int mlxsw_env_validate_cable_ident(struct mlxsw_core *core, int id, in mlxsw_env_validate_cable_ident()
63 mlxsw_env_query_module_eeprom(struct mlxsw_core *mlxsw_core, int module, in mlxsw_env_query_module_eeprom() argument
111 err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcia), mcia_pl); in mlxsw_env_query_module_eeprom()
126 int mlxsw_env_module_temp_thresholds_get(struct mlxsw_core *core, int module, in mlxsw_env_module_temp_thresholds_get()
205 int mlxsw_env_get_module_info(struct mlxsw_core *mlxsw_core, int module, in mlxsw_env_get_module_info() argument
214 err = mlxsw_env_query_module_eeprom(mlxsw_core, module, 0, offset, in mlxsw_env_get_module_info()
244 err = mlxsw_env_query_module_eeprom(mlxsw_core, module, in mlxsw_env_get_module_info()
284 struct mlxsw_core *mlxsw_core, int module, in mlxsw_env_get_module_eeprom() argument
298 err = mlxsw_env_validate_cable_ident(mlxsw_core, module, &qsfp, &cmis); in mlxsw_env_get_module_eeprom()
[all …]
Dcore_env.h12 int mlxsw_env_module_temp_thresholds_get(struct mlxsw_core *core, int module,
15 int mlxsw_env_get_module_info(struct mlxsw_core *mlxsw_core, int module,
19 struct mlxsw_core *mlxsw_core, int module,
23 mlxsw_env_get_module_eeprom_by_page(struct mlxsw_core *mlxsw_core, u8 module,
28 mlxsw_env_module_overheat_counter_get(struct mlxsw_core *mlxsw_core, u8 module,
30 int mlxsw_env_init(struct mlxsw_core *core, struct mlxsw_env **p_env);
Dspectrum.c1947 static int mlxsw_sp_local_ports_offset(struct mlxsw_core *mlxsw_core, in mlxsw_sp_local_ports_offset() argument
1963 if (!mlxsw_core_res_valid(mlxsw_core, local_ports_in_x_res_id)) in mlxsw_sp_local_ports_offset()
1965 return mlxsw_core_res_get(mlxsw_core, local_ports_in_x_res_id); in mlxsw_sp_local_ports_offset()
1976 static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port, in mlxsw_sp_port_split() argument
1980 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_port_split()
1997 max_width = mlxsw_core_module_max_width(mlxsw_core, in mlxsw_sp_port_split()
2012 offset = mlxsw_sp_local_ports_offset(mlxsw_core, count, max_width); in mlxsw_sp_port_split()
2060 static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u8 local_port, in mlxsw_sp_port_unsplit() argument
2063 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_port_unsplit()
2085 max_width = mlxsw_core_module_max_width(mlxsw_core, in mlxsw_sp_port_unsplit()
[all …]
Dspectrum.h160 struct mlxsw_core *core;
536 int mlxsw_sp_sb_pool_get(struct mlxsw_core *mlxsw_core,
539 int mlxsw_sp_sb_pool_set(struct mlxsw_core *mlxsw_core,
558 int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core,
560 int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core,
799 int mlxsw_sp1_kvdl_resources_register(struct mlxsw_core *mlxsw_core);
1324 int mlxsw_sp_trap_init(struct mlxsw_core *mlxsw_core,
1326 void mlxsw_sp_trap_fini(struct mlxsw_core *mlxsw_core,
1328 int mlxsw_sp_trap_action_set(struct mlxsw_core *mlxsw_core,
1332 int mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core,
[all …]
Dminimal.c32 struct mlxsw_core *core;
99 struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core; in mlxsw_m_get_module_info()
109 struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core; in mlxsw_m_get_module_eeprom()
121 struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core; in mlxsw_m_get_module_eeprom_by_page()
373 static int mlxsw_m_init(struct mlxsw_core *mlxsw_core, in mlxsw_m_init() argument
377 struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_m_init()
380 mlxsw_m->core = mlxsw_core; in mlxsw_m_init()
402 static void mlxsw_m_fini(struct mlxsw_core *mlxsw_core) in mlxsw_m_fini() argument
404 struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_m_fini()
Dspectrum_trap.c1544 int mlxsw_sp_trap_init(struct mlxsw_core *mlxsw_core, in mlxsw_sp_trap_init() argument
1547 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_trap_init()
1562 err = mlxsw_core_trap_register(mlxsw_core, listener, trap_ctx); in mlxsw_sp_trap_init()
1570 void mlxsw_sp_trap_fini(struct mlxsw_core *mlxsw_core, in mlxsw_sp_trap_fini() argument
1573 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_trap_fini()
1587 mlxsw_core_trap_unregister(mlxsw_core, listener, trap_ctx); in mlxsw_sp_trap_fini()
1591 int mlxsw_sp_trap_action_set(struct mlxsw_core *mlxsw_core, in mlxsw_sp_trap_action_set() argument
1596 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_trap_action_set()
1628 err = mlxsw_core_trap_state_set(mlxsw_core, listener, enabled); in mlxsw_sp_trap_action_set()
1637 __mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core, in __mlxsw_sp_trap_group_init() argument
[all …]
DMakefile2 obj-$(CONFIG_MLXSW_CORE) += mlxsw_core.o
3 mlxsw_core-objs := core.o core_acl_flex_keys.o \
5 mlxsw_core-$(CONFIG_MLXSW_CORE_HWMON) += core_hwmon.o
6 mlxsw_core-$(CONFIG_MLXSW_CORE_THERMAL) += core_thermal.o
Dspectrum_cnt.c242 int mlxsw_sp_counter_resources_register(struct mlxsw_core *mlxsw_core) in mlxsw_sp_counter_resources_register() argument
245 struct devlink *devlink = priv_to_devlink(mlxsw_core); in mlxsw_sp_counter_resources_register()
255 if (!MLXSW_CORE_RES_VALID(mlxsw_core, COUNTER_POOL_SIZE) || in mlxsw_sp_counter_resources_register()
256 !MLXSW_CORE_RES_VALID(mlxsw_core, COUNTER_BANK_SIZE)) in mlxsw_sp_counter_resources_register()
259 pool_size = MLXSW_CORE_RES_GET(mlxsw_core, COUNTER_POOL_SIZE); in mlxsw_sp_counter_resources_register()
260 bank_size = MLXSW_CORE_RES_GET(mlxsw_core, COUNTER_BANK_SIZE); in mlxsw_sp_counter_resources_register()
Dspectrum_policer.c82 struct mlxsw_core *core = family->mlxsw_sp->core; in mlxsw_sp_policer_single_rate_family_init()
404 int mlxsw_sp_policer_resources_register(struct mlxsw_core *mlxsw_core) in mlxsw_sp_policer_resources_register() argument
407 struct devlink *devlink = priv_to_devlink(mlxsw_core); in mlxsw_sp_policer_resources_register()
411 if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_GLOBAL_POLICERS) || in mlxsw_sp_policer_resources_register()
412 !MLXSW_CORE_RES_VALID(mlxsw_core, MAX_CPU_POLICERS)) in mlxsw_sp_policer_resources_register()
415 global_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_GLOBAL_POLICERS); in mlxsw_sp_policer_resources_register()
416 cpu_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_CPU_POLICERS); in mlxsw_sp_policer_resources_register()
Dspectrum_buffers.c273 static void mlxsw_sp_sb_pm_occ_query_cb(struct mlxsw_core *mlxsw_core, in mlxsw_sp_sb_pm_occ_query_cb() argument
1328 int mlxsw_sp_sb_pool_get(struct mlxsw_core *mlxsw_core, in mlxsw_sp_sb_pool_get() argument
1332 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_sb_pool_get()
1345 int mlxsw_sp_sb_pool_set(struct mlxsw_core *mlxsw_core, in mlxsw_sp_sb_pool_set() argument
1350 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_sb_pool_set()
1532 static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core, in mlxsw_sp_sb_sr_occ_query_cb() argument
1536 struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); in mlxsw_sp_sb_sr_occ_query_cb()
1548 local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) { in mlxsw_sp_sb_sr_occ_query_cb()
1567 local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) { in mlxsw_sp_sb_sr_occ_query_cb()
1581 int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core, in mlxsw_sp_sb_occ_snapshot() argument
[all …]
Dspectrum_ptp.c62 struct mlxsw_core *core;
76 struct mlxsw_core *mlxsw_core = clock->core; in __mlxsw_sp1_ptp_read_frc() local
79 frc_h1 = mlxsw_core_read_frc_h(mlxsw_core); in __mlxsw_sp1_ptp_read_frc()
81 frc_l = mlxsw_core_read_frc_l(mlxsw_core); in __mlxsw_sp1_ptp_read_frc()
83 frc_h2 = mlxsw_core_read_frc_h(mlxsw_core); in __mlxsw_sp1_ptp_read_frc()
88 frc_l = mlxsw_core_read_frc_l(mlxsw_core); in __mlxsw_sp1_ptp_read_frc()
106 struct mlxsw_core *mlxsw_core = clock->core; in mlxsw_sp1_ptp_phc_adjfreq() local
111 return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl); in mlxsw_sp1_ptp_phc_adjfreq()
127 struct mlxsw_core *mlxsw_core = clock->core; in mlxsw_sp1_ptp_phc_settime() local
141 err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtpps), mtpps_pl); in mlxsw_sp1_ptp_phc_settime()
[all …]
Dspectrum1_kvdl.c386 int mlxsw_sp1_kvdl_resources_register(struct mlxsw_core *mlxsw_core) in mlxsw_sp1_kvdl_resources_register() argument
388 struct devlink *devlink = priv_to_devlink(mlxsw_core); in mlxsw_sp1_kvdl_resources_register()
393 kvdl_max_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) - in mlxsw_sp1_kvdl_resources_register()
394 MLXSW_CORE_RES_GET(mlxsw_core, KVD_SINGLE_MIN_SIZE) - in mlxsw_sp1_kvdl_resources_register()
395 MLXSW_CORE_RES_GET(mlxsw_core, KVD_DOUBLE_MIN_SIZE); in mlxsw_sp1_kvdl_resources_register()
Dspectrum_cnt.h23 int mlxsw_sp_counter_resources_register(struct mlxsw_core *mlxsw_core);
Di2c.c77 struct mlxsw_core *core;
511 mlxsw_i2c_init(void *bus_priv, struct mlxsw_core *mlxsw_core, in mlxsw_i2c_init() argument
519 mlxsw_i2c->core = mlxsw_core; in mlxsw_i2c_init()
525 err = mlxsw_cmd_query_fw(mlxsw_core, mbox); in mlxsw_i2c_init()
536 err = mlxsw_core_resources_query(mlxsw_core, mbox, res); in mlxsw_i2c_init()
Dcore_thermal.c88 struct mlxsw_core *core;
143 mlxsw_thermal_module_trips_update(struct device *dev, struct mlxsw_core *core, in mlxsw_thermal_module_trips_update()
421 mlxsw_thermal_module_temp_and_thresholds_get(struct mlxsw_core *core, in mlxsw_thermal_module_temp_and_thresholds_get()
701 mlxsw_thermal_module_init(struct device *dev, struct mlxsw_core *core, in mlxsw_thermal_module_init()
737 mlxsw_thermal_modules_init(struct device *dev, struct mlxsw_core *core, in mlxsw_thermal_modules_init()
830 mlxsw_thermal_gearboxes_init(struct device *dev, struct mlxsw_core *core, in mlxsw_thermal_gearboxes_init()
894 int mlxsw_thermal_init(struct mlxsw_core *core, in mlxsw_thermal_init()
Dpci.c108 struct mlxsw_core *core;
1493 static int mlxsw_pci_init(void *bus_priv, struct mlxsw_core *mlxsw_core, in mlxsw_pci_init() argument
1503 mlxsw_pci->core = mlxsw_core; in mlxsw_pci_init()
1519 err = mlxsw_cmd_query_fw(mlxsw_core, mbox); in mlxsw_pci_init()
1562 err = mlxsw_core_resources_query(mlxsw_core, mbox, res); in mlxsw_pci_init()
1566 if (MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V2) && in mlxsw_pci_init()
1567 MLXSW_CORE_RES_GET(mlxsw_core, CQE_V2)) in mlxsw_pci_init()
1569 else if (MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V1) && in mlxsw_pci_init()
1570 MLXSW_CORE_RES_GET(mlxsw_core, CQE_V1)) in mlxsw_pci_init()
1572 else if ((MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V0) && in mlxsw_pci_init()
[all …]
Dcore_hwmon.c44 struct mlxsw_core *core;
752 int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core, in mlxsw_hwmon_init() argument
763 mlxsw_hwmon->core = mlxsw_core; in mlxsw_hwmon_init()
DKconfig14 module will be called mlxsw_core.
Dspectrum_ethtool.c565 struct mlxsw_core *mlxsw_core = mlxsw_sp_port->mlxsw_sp->core; in mlxsw_sp_port_get_transceiver_overheat_stats() local
569 err = mlxsw_env_module_overheat_counter_get(mlxsw_core, in mlxsw_sp_port_get_transceiver_overheat_stats()