mlxsw_core 26 drivers/net/ethernet/mellanox/mlxsw/cmd.h struct mlxsw_core; mlxsw_core 28 drivers/net/ethernet/mellanox/mlxsw/cmd.h int mlxsw_cmd_exec(struct mlxsw_core *mlxsw_core, u16 opcode, u8 opcode_mod, mlxsw_core 33 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_exec_in(struct mlxsw_core *mlxsw_core, u16 opcode, mlxsw_core 37 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, false, mlxsw_core 41 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_exec_out(struct mlxsw_core *mlxsw_core, u16 opcode, mlxsw_core 46 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, mlxsw_core 51 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_exec_none(struct mlxsw_core *mlxsw_core, u16 opcode, mlxsw_core 54 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec(mlxsw_core, opcode, opcode_mod, in_mod, false, mlxsw_core 199 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_fw(struct mlxsw_core *mlxsw_core, mlxsw_core 202 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_FW, mlxsw_core 339 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_boardinfo(struct mlxsw_core *mlxsw_core, mlxsw_core 342 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_BOARDINFO, mlxsw_core 383 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_aq_cap(struct mlxsw_core *mlxsw_core, mlxsw_core 386 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_AQ_CAP, mlxsw_core 461 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_map_fa(struct mlxsw_core *mlxsw_core, mlxsw_core 464 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_MAP_FA, mlxsw_core 490 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_unmap_fa(struct mlxsw_core *mlxsw_core) mlxsw_core 492 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_UNMAP_FA, 0, 0); mlxsw_core 510 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_resources(struct mlxsw_core *mlxsw_core, mlxsw_core 513 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_RESOURCES, mlxsw_core 544 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_config_profile_set(struct mlxsw_core *mlxsw_core, mlxsw_core 547 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_CONFIG_PROFILE, mlxsw_core 855 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_access_reg(struct mlxsw_core *mlxsw_core, mlxsw_core 859 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec(mlxsw_core, MLXSW_CMD_OPCODE_ACCESS_REG, mlxsw_core 875 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int __mlxsw_cmd_sw2hw_dq(struct mlxsw_core *mlxsw_core, mlxsw_core 879 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_SW2HW_DQ, mlxsw_core 889 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_sw2hw_sdq(struct mlxsw_core *mlxsw_core, mlxsw_core 892 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_sw2hw_dq(mlxsw_core, in_mbox, dq_number, mlxsw_core 896 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_sw2hw_rdq(struct mlxsw_core *mlxsw_core, mlxsw_core 899 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_sw2hw_dq(mlxsw_core, in_mbox, dq_number, mlxsw_core 934 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int __mlxsw_cmd_hw2sw_dq(struct mlxsw_core *mlxsw_core, mlxsw_core 937 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_HW2SW_DQ, mlxsw_core 941 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_hw2sw_sdq(struct mlxsw_core *mlxsw_core, mlxsw_core 944 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_hw2sw_dq(mlxsw_core, dq_number, mlxsw_core 948 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_hw2sw_rdq(struct mlxsw_core *mlxsw_core, mlxsw_core 951 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_hw2sw_dq(mlxsw_core, dq_number, mlxsw_core 969 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int __mlxsw_cmd_2err_dq(struct mlxsw_core *mlxsw_core, mlxsw_core 972 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_2ERR_DQ, mlxsw_core 976 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_2err_sdq(struct mlxsw_core *mlxsw_core, mlxsw_core 979 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_2err_dq(mlxsw_core, dq_number, mlxsw_core 983 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_2err_rdq(struct mlxsw_core *mlxsw_core, mlxsw_core 986 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_2err_dq(mlxsw_core, dq_number, mlxsw_core 1000 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int __mlxsw_cmd_query_dq(struct mlxsw_core *mlxsw_core, mlxsw_core 1004 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_2ERR_DQ, mlxsw_core 1009 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_sdq(struct mlxsw_core *mlxsw_core, mlxsw_core 1012 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_query_dq(mlxsw_core, out_mbox, dq_number, mlxsw_core 1016 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_rdq(struct mlxsw_core *mlxsw_core, mlxsw_core 1019 drivers/net/ethernet/mellanox/mlxsw/cmd.h return __mlxsw_cmd_query_dq(mlxsw_core, out_mbox, dq_number, mlxsw_core 1033 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_sw2hw_cq(struct mlxsw_core *mlxsw_core, mlxsw_core 1036 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_SW2HW_CQ, mlxsw_core 1087 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_hw2sw_cq(struct mlxsw_core *mlxsw_core, mlxsw_core 1090 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_HW2SW_CQ, mlxsw_core 1106 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_cq(struct mlxsw_core *mlxsw_core, mlxsw_core 1109 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_CQ, mlxsw_core 1124 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_sw2hw_eq(struct mlxsw_core *mlxsw_core, mlxsw_core 1127 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_in(mlxsw_core, MLXSW_CMD_OPCODE_SW2HW_EQ, mlxsw_core 1169 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_hw2sw_eq(struct mlxsw_core *mlxsw_core, mlxsw_core 1172 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_none(mlxsw_core, MLXSW_CMD_OPCODE_HW2SW_EQ, mlxsw_core 1184 drivers/net/ethernet/mellanox/mlxsw/cmd.h static inline int mlxsw_cmd_query_eq(struct mlxsw_core *mlxsw_core, mlxsw_core 1187 drivers/net/ethernet/mellanox/mlxsw/cmd.h return mlxsw_cmd_exec_out(mlxsw_core, MLXSW_CMD_OPCODE_QUERY_EQ, mlxsw_core 90 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_ports_init(struct mlxsw_core *mlxsw_core) mlxsw_core 93 drivers/net/ethernet/mellanox/mlxsw/core.c if (MLXSW_CORE_RES_VALID(mlxsw_core, MAX_SYSTEM_PORT)) mlxsw_core 94 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->max_ports = MLXSW_CORE_RES_GET(mlxsw_core, mlxsw_core 97 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->max_ports = MLXSW_PORT_MAX_PORTS_DEFAULT + 1; mlxsw_core 99 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->ports = kcalloc(mlxsw_core->max_ports, mlxsw_core 101 drivers/net/ethernet/mellanox/mlxsw/core.c if (!mlxsw_core->ports) mlxsw_core 107 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_ports_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 109 drivers/net/ethernet/mellanox/mlxsw/core.c kfree(mlxsw_core->ports); mlxsw_core 112 drivers/net/ethernet/mellanox/mlxsw/core.c unsigned int mlxsw_core_max_ports(const struct mlxsw_core *mlxsw_core) mlxsw_core 114 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->max_ports; mlxsw_core 118 drivers/net/ethernet/mellanox/mlxsw/core.c void *mlxsw_core_driver_priv(struct mlxsw_core *mlxsw_core) mlxsw_core 120 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->driver_priv; mlxsw_core 124 drivers/net/ethernet/mellanox/mlxsw/core.c bool mlxsw_core_res_query_enabled(const struct mlxsw_core *mlxsw_core) mlxsw_core 126 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->driver->res_query_enabled; mlxsw_core 420 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *core; mlxsw_core 450 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_emad_transmit(struct mlxsw_core *mlxsw_core, mlxsw_core 460 drivers/net/ethernet/mellanox/mlxsw/core.c trace_devlink_hwmsg(priv_to_devlink(mlxsw_core), false, 0, mlxsw_core 461 drivers/net/ethernet/mellanox/mlxsw/core.c skb->data + mlxsw_core->driver->txhdr_len, mlxsw_core 462 drivers/net/ethernet/mellanox/mlxsw/core.c skb->len - mlxsw_core->driver->txhdr_len); mlxsw_core 465 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core_skb_transmit(mlxsw_core, skb, &trans->tx_info); mlxsw_core 476 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = trans->core; mlxsw_core 479 drivers/net/ethernet/mellanox/mlxsw/core.c spin_lock_bh(&mlxsw_core->emad.trans_list_lock); mlxsw_core 481 drivers/net/ethernet/mellanox/mlxsw/core.c spin_unlock_bh(&mlxsw_core->emad.trans_list_lock); mlxsw_core 486 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_emad_transmit_retry(struct mlxsw_core *mlxsw_core, mlxsw_core 514 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_emad_process_response(struct mlxsw_core *mlxsw_core, mlxsw_core 525 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_emad_transmit_retry(mlxsw_core, trans); mlxsw_core 531 drivers/net/ethernet/mellanox/mlxsw/core.c trans->cb(mlxsw_core, mlxsw_core 543 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = priv; mlxsw_core 546 drivers/net/ethernet/mellanox/mlxsw/core.c trace_devlink_hwmsg(priv_to_devlink(mlxsw_core), true, 0, mlxsw_core 552 drivers/net/ethernet/mellanox/mlxsw/core.c list_for_each_entry_rcu(trans, &mlxsw_core->emad.trans_list, list) { mlxsw_core 554 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_emad_process_response(mlxsw_core, trans, skb); mlxsw_core 567 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_emad_init(struct mlxsw_core *mlxsw_core) mlxsw_core 573 drivers/net/ethernet/mellanox/mlxsw/core.c if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX)) mlxsw_core 579 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->emad_wq = emad_wq; mlxsw_core 587 drivers/net/ethernet/mellanox/mlxsw/core.c atomic64_set(&mlxsw_core->emad.tid, tid); mlxsw_core 589 drivers/net/ethernet/mellanox/mlxsw/core.c INIT_LIST_HEAD(&mlxsw_core->emad.trans_list); mlxsw_core 590 drivers/net/ethernet/mellanox/mlxsw/core.c spin_lock_init(&mlxsw_core->emad.trans_list_lock); mlxsw_core 592 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core_trap_register(mlxsw_core, &mlxsw_emad_rx_listener, mlxsw_core 593 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core); mlxsw_core 597 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core->driver->basic_trap_groups_set(mlxsw_core); mlxsw_core 600 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->emad.use_emad = true; mlxsw_core 605 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_trap_unregister(mlxsw_core, &mlxsw_emad_rx_listener, mlxsw_core 606 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core); mlxsw_core 607 drivers/net/ethernet/mellanox/mlxsw/core.c destroy_workqueue(mlxsw_core->emad_wq); mlxsw_core 611 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_emad_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 614 drivers/net/ethernet/mellanox/mlxsw/core.c if (!(mlxsw_core->bus->features & MLXSW_BUS_F_TXRX)) mlxsw_core 617 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->emad.use_emad = false; mlxsw_core 618 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_trap_unregister(mlxsw_core, &mlxsw_emad_rx_listener, mlxsw_core 619 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core); mlxsw_core 620 drivers/net/ethernet/mellanox/mlxsw/core.c destroy_workqueue(mlxsw_core->emad_wq); mlxsw_core 623 drivers/net/ethernet/mellanox/mlxsw/core.c static struct sk_buff *mlxsw_emad_alloc(const struct mlxsw_core *mlxsw_core, mlxsw_core 631 drivers/net/ethernet/mellanox/mlxsw/core.c sizeof(u32) + mlxsw_core->driver->txhdr_len); mlxsw_core 644 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_emad_reg_access(struct mlxsw_core *mlxsw_core, mlxsw_core 656 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg(mlxsw_core->bus_info->dev, "EMAD reg access (tid=%llx,reg_id=%x(%s),type=%s)\n", mlxsw_core 660 drivers/net/ethernet/mellanox/mlxsw/core.c skb = mlxsw_emad_alloc(mlxsw_core, reg->len); mlxsw_core 665 drivers/net/ethernet/mellanox/mlxsw/core.c trans->core = mlxsw_core; mlxsw_core 678 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver->txhdr_construct(skb, &trans->tx_info); mlxsw_core 680 drivers/net/ethernet/mellanox/mlxsw/core.c spin_lock_bh(&mlxsw_core->emad.trans_list_lock); mlxsw_core 681 drivers/net/ethernet/mellanox/mlxsw/core.c list_add_tail_rcu(&trans->list, &mlxsw_core->emad.trans_list); mlxsw_core 682 drivers/net/ethernet/mellanox/mlxsw/core.c spin_unlock_bh(&mlxsw_core->emad.trans_list_lock); mlxsw_core 683 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_emad_transmit(mlxsw_core, trans); mlxsw_core 689 drivers/net/ethernet/mellanox/mlxsw/core.c spin_lock_bh(&mlxsw_core->emad.trans_list_lock); mlxsw_core 691 drivers/net/ethernet/mellanox/mlxsw/core.c spin_unlock_bh(&mlxsw_core->emad.trans_list_lock); mlxsw_core 744 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 746 drivers/net/ethernet/mellanox/mlxsw/core.c if (port_index >= mlxsw_core->max_ports) { mlxsw_core 750 drivers/net/ethernet/mellanox/mlxsw/core.c if (!mlxsw_core->driver->port_split) mlxsw_core 752 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->driver->port_split(mlxsw_core, port_index, count, mlxsw_core 760 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 762 drivers/net/ethernet/mellanox/mlxsw/core.c if (port_index >= mlxsw_core->max_ports) { mlxsw_core 766 drivers/net/ethernet/mellanox/mlxsw/core.c if (!mlxsw_core->driver->port_unsplit) mlxsw_core 768 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->driver->port_unsplit(mlxsw_core, port_index, mlxsw_core 777 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 778 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 782 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->sb_pool_get(mlxsw_core, sb_index, mlxsw_core 792 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 793 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 797 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->sb_pool_set(mlxsw_core, sb_index, mlxsw_core 810 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 811 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 817 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->port_type_set(mlxsw_core, mlxsw_core 826 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 827 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 842 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 843 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 859 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 860 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 878 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 879 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 893 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 894 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 898 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->sb_occ_snapshot(mlxsw_core, sb_index); mlxsw_core 904 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 905 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 909 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->sb_occ_max_clear(mlxsw_core, sb_index); mlxsw_core 917 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 918 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 934 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink); mlxsw_core 935 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 950 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 958 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus_info->device_kind); mlxsw_core 963 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mgir), mgir_pl); mlxsw_core 990 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 992 drivers/net/ethernet/mellanox/mlxsw/core.c if (!(mlxsw_core->bus->features & MLXSW_BUS_F_RESET)) mlxsw_core 995 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_bus_device_unregister(mlxsw_core, true); mlxsw_core 1003 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 1005 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_bus_device_register(mlxsw_core->bus_info, mlxsw_core 1006 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus, mlxsw_core 1007 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus_priv, true, mlxsw_core 1016 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 1017 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 1021 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->flash_update(mlxsw_core, file_name, mlxsw_core 1029 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 1030 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 1034 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->trap_init(mlxsw_core, trap, trap_ctx); mlxsw_core 1041 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 1042 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 1046 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_driver->trap_fini(mlxsw_core, trap, trap_ctx); mlxsw_core 1053 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 1054 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 1058 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->trap_action_set(mlxsw_core, trap, action); mlxsw_core 1065 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 1066 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *mlxsw_driver = mlxsw_core->driver; mlxsw_core 1070 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_driver->trap_group_init(mlxsw_core, group); mlxsw_core 1104 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core; mlxsw_core 1115 drivers/net/ethernet/mellanox/mlxsw/core.c alloc_size = sizeof(*mlxsw_core) + mlxsw_driver->priv_size; mlxsw_core 1123 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core = devlink_priv(devlink); mlxsw_core 1124 drivers/net/ethernet/mellanox/mlxsw/core.c INIT_LIST_HEAD(&mlxsw_core->rx_listener_list); mlxsw_core 1125 drivers/net/ethernet/mellanox/mlxsw/core.c INIT_LIST_HEAD(&mlxsw_core->event_listener_list); mlxsw_core 1126 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver = mlxsw_driver; mlxsw_core 1127 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus = mlxsw_bus; mlxsw_core 1128 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus_priv = bus_priv; mlxsw_core 1129 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus_info = mlxsw_bus_info; mlxsw_core 1131 drivers/net/ethernet/mellanox/mlxsw/core.c res = mlxsw_driver->res_query_enabled ? &mlxsw_core->res : NULL; mlxsw_core 1132 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_bus->init(bus_priv, mlxsw_core, mlxsw_driver->profile, res); mlxsw_core 1137 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_driver->resources_register(mlxsw_core); mlxsw_core 1142 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_ports_init(mlxsw_core); mlxsw_core 1146 drivers/net/ethernet/mellanox/mlxsw/core.c if (MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG) && mlxsw_core 1147 drivers/net/ethernet/mellanox/mlxsw/core.c MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG_MEMBERS)) { mlxsw_core 1149 drivers/net/ethernet/mellanox/mlxsw/core.c MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG) * mlxsw_core 1150 drivers/net/ethernet/mellanox/mlxsw/core.c MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS); mlxsw_core 1151 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->lag.mapping = kzalloc(alloc_size, GFP_KERNEL); mlxsw_core 1152 drivers/net/ethernet/mellanox/mlxsw/core.c if (!mlxsw_core->lag.mapping) { mlxsw_core 1158 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_emad_init(mlxsw_core); mlxsw_core 1169 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_driver->params_register(mlxsw_core); mlxsw_core 1175 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_driver->init(mlxsw_core, mlxsw_bus_info); mlxsw_core 1180 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_hwmon_init(mlxsw_core, mlxsw_bus_info, &mlxsw_core->hwmon); mlxsw_core 1184 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_thermal_init(mlxsw_core, mlxsw_bus_info, mlxsw_core 1185 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->thermal); mlxsw_core 1198 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_hwmon_fini(mlxsw_core->hwmon); mlxsw_core 1200 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->driver->fini) mlxsw_core 1201 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver->fini(mlxsw_core); mlxsw_core 1204 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_driver->params_unregister(mlxsw_core); mlxsw_core 1209 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_emad_fini(mlxsw_core); mlxsw_core 1211 drivers/net/ethernet/mellanox/mlxsw/core.c kfree(mlxsw_core->lag.mapping); mlxsw_core 1213 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_ports_fini(mlxsw_core); mlxsw_core 1250 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 1253 drivers/net/ethernet/mellanox/mlxsw/core.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 1267 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->driver->params_unregister) mlxsw_core 1269 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_thermal_fini(mlxsw_core->thermal); mlxsw_core 1270 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_hwmon_fini(mlxsw_core->hwmon); mlxsw_core 1271 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->driver->fini) mlxsw_core 1272 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver->fini(mlxsw_core); mlxsw_core 1273 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->driver->params_unregister && !reload) mlxsw_core 1274 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver->params_unregister(mlxsw_core); mlxsw_core 1277 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_emad_fini(mlxsw_core); mlxsw_core 1278 drivers/net/ethernet/mellanox/mlxsw/core.c kfree(mlxsw_core->lag.mapping); mlxsw_core 1279 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_ports_fini(mlxsw_core); mlxsw_core 1282 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->bus->fini(mlxsw_core->bus_priv); mlxsw_core 1287 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->driver->params_unregister) mlxsw_core 1288 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver->params_unregister(mlxsw_core); mlxsw_core 1295 drivers/net/ethernet/mellanox/mlxsw/core.c bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core, mlxsw_core 1298 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->bus->skb_transmit_busy(mlxsw_core->bus_priv, mlxsw_core 1303 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, mlxsw_core 1306 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->bus->skb_transmit(mlxsw_core->bus_priv, skb, mlxsw_core 1311 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core, mlxsw_core 1314 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->driver->ptp_transmitted) mlxsw_core 1315 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->driver->ptp_transmitted(mlxsw_core, skb, mlxsw_core 1329 drivers/net/ethernet/mellanox/mlxsw/core.c __find_rx_listener_item(struct mlxsw_core *mlxsw_core, mlxsw_core 1335 drivers/net/ethernet/mellanox/mlxsw/core.c list_for_each_entry(rxl_item, &mlxsw_core->rx_listener_list, list) { mlxsw_core 1343 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core, mlxsw_core 1349 drivers/net/ethernet/mellanox/mlxsw/core.c rxl_item = __find_rx_listener_item(mlxsw_core, rxl, priv); mlxsw_core 1358 drivers/net/ethernet/mellanox/mlxsw/core.c list_add_rcu(&rxl_item->list, &mlxsw_core->rx_listener_list); mlxsw_core 1363 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_rx_listener_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 1369 drivers/net/ethernet/mellanox/mlxsw/core.c rxl_item = __find_rx_listener_item(mlxsw_core, rxl, priv); mlxsw_core 1402 drivers/net/ethernet/mellanox/mlxsw/core.c __find_event_listener_item(struct mlxsw_core *mlxsw_core, mlxsw_core 1408 drivers/net/ethernet/mellanox/mlxsw/core.c list_for_each_entry(el_item, &mlxsw_core->event_listener_list, list) { mlxsw_core 1416 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_event_listener_register(struct mlxsw_core *mlxsw_core, mlxsw_core 1428 drivers/net/ethernet/mellanox/mlxsw/core.c el_item = __find_event_listener_item(mlxsw_core, el, priv); mlxsw_core 1437 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core_rx_listener_register(mlxsw_core, &rxl, el_item); mlxsw_core 1444 drivers/net/ethernet/mellanox/mlxsw/core.c list_add_rcu(&el_item->list, &mlxsw_core->event_listener_list); mlxsw_core 1454 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_event_listener_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 1465 drivers/net/ethernet/mellanox/mlxsw/core.c el_item = __find_event_listener_item(mlxsw_core, el, priv); mlxsw_core 1468 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_rx_listener_unregister(mlxsw_core, &rxl, el_item); mlxsw_core 1474 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_core_listener_register(struct mlxsw_core *mlxsw_core, mlxsw_core 1479 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_event_listener_register(mlxsw_core, mlxsw_core 1483 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_rx_listener_register(mlxsw_core, mlxsw_core 1488 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_core_listener_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 1493 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_event_listener_unregister(mlxsw_core, mlxsw_core 1497 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_rx_listener_unregister(mlxsw_core, mlxsw_core 1502 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_trap_register(struct mlxsw_core *mlxsw_core, mlxsw_core 1508 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core_listener_register(mlxsw_core, listener, priv); mlxsw_core 1514 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl); mlxsw_core 1521 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_listener_unregister(mlxsw_core, listener, priv); mlxsw_core 1526 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_trap_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 1536 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl); mlxsw_core 1539 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_listener_unregister(mlxsw_core, listener, priv); mlxsw_core 1543 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_trap_action_set(struct mlxsw_core *mlxsw_core, mlxsw_core 1551 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl); mlxsw_core 1555 drivers/net/ethernet/mellanox/mlxsw/core.c static u64 mlxsw_core_tid_get(struct mlxsw_core *mlxsw_core) mlxsw_core 1557 drivers/net/ethernet/mellanox/mlxsw/core.c return atomic64_inc_return(&mlxsw_core->emad.tid); mlxsw_core 1560 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_core_reg_access_emad(struct mlxsw_core *mlxsw_core, mlxsw_core 1568 drivers/net/ethernet/mellanox/mlxsw/core.c u64 tid = mlxsw_core_tid_get(mlxsw_core); mlxsw_core 1576 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_emad_reg_access(mlxsw_core, reg, payload, type, trans, mlxsw_core 1585 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_reg_trans_query(struct mlxsw_core *mlxsw_core, mlxsw_core 1590 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_reg_access_emad(mlxsw_core, reg, payload, mlxsw_core 1596 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_reg_trans_write(struct mlxsw_core *mlxsw_core, mlxsw_core 1601 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_reg_access_emad(mlxsw_core, reg, payload, mlxsw_core 1609 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_core *mlxsw_core = trans->core; mlxsw_core 1617 drivers/net/ethernet/mellanox/mlxsw/core.c dev_warn(mlxsw_core->bus_info->dev, "EMAD retries (%d/%d) (tid=%llx)\n", mlxsw_core 1620 drivers/net/ethernet/mellanox/mlxsw/core.c dev_err(mlxsw_core->bus_info->dev, "EMAD reg access failed (tid=%llx,reg_id=%x(%s),type=%s,status=%x(%s))\n", mlxsw_core 1626 drivers/net/ethernet/mellanox/mlxsw/core.c trace_devlink_hwerr(priv_to_devlink(mlxsw_core), mlxsw_core 1652 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_core_reg_access_cmd(struct mlxsw_core *mlxsw_core, mlxsw_core 1662 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg(mlxsw_core->bus_info->dev, "Reg cmd access (reg_id=%x(%s),type=%s)\n", mlxsw_core 1677 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_tid_get(mlxsw_core)); mlxsw_core 1690 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_cmd_access_reg(mlxsw_core, reset_ok, in_mbox, out_mbox); mlxsw_core 1696 drivers/net/ethernet/mellanox/mlxsw/core.c dev_err(mlxsw_core->bus_info->dev, "Reg cmd access status failed (status=%x(%s))\n", mlxsw_core 1709 drivers/net/ethernet/mellanox/mlxsw/core.c dev_err(mlxsw_core->bus_info->dev, "Reg cmd access failed (reg_id=%x(%s),type=%s)\n", mlxsw_core 1715 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_core_reg_access_cb(struct mlxsw_core *mlxsw_core, mlxsw_core 1724 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_core_reg_access(struct mlxsw_core *mlxsw_core, mlxsw_core 1736 drivers/net/ethernet/mellanox/mlxsw/core.c if (!mlxsw_core->emad.use_emad) mlxsw_core 1737 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_reg_access_cmd(mlxsw_core, reg, mlxsw_core 1740 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core_reg_access_emad(mlxsw_core, reg, mlxsw_core 1749 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_reg_query(struct mlxsw_core *mlxsw_core, mlxsw_core 1752 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_reg_access(mlxsw_core, reg, payload, mlxsw_core 1757 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_reg_write(struct mlxsw_core *mlxsw_core, mlxsw_core 1760 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core_reg_access(mlxsw_core, reg, payload, mlxsw_core 1765 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, mlxsw_core 1774 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg_ratelimited(mlxsw_core->bus_info->dev, "%s: lag_id = %d, lag_port_index = 0x%x\n", mlxsw_core 1780 drivers/net/ethernet/mellanox/mlxsw/core.c local_port = mlxsw_core_lag_mapping_get(mlxsw_core, mlxsw_core 1787 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg_ratelimited(mlxsw_core->bus_info->dev, "%s: local_port = %d, trap_id = 0x%x\n", mlxsw_core 1791 drivers/net/ethernet/mellanox/mlxsw/core.c (local_port >= mlxsw_core->max_ports)) mlxsw_core 1795 drivers/net/ethernet/mellanox/mlxsw/core.c list_for_each_entry_rcu(rxl_item, &mlxsw_core->rx_listener_list, list) { mlxsw_core 1816 drivers/net/ethernet/mellanox/mlxsw/core.c static int mlxsw_core_lag_mapping_index(struct mlxsw_core *mlxsw_core, mlxsw_core 1819 drivers/net/ethernet/mellanox/mlxsw/core.c return MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS) * lag_id + mlxsw_core 1823 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core, mlxsw_core 1826 drivers/net/ethernet/mellanox/mlxsw/core.c int index = mlxsw_core_lag_mapping_index(mlxsw_core, mlxsw_core 1829 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->lag.mapping[index] = local_port; mlxsw_core 1833 drivers/net/ethernet/mellanox/mlxsw/core.c u8 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core, mlxsw_core 1836 drivers/net/ethernet/mellanox/mlxsw/core.c int index = mlxsw_core_lag_mapping_index(mlxsw_core, mlxsw_core 1839 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->lag.mapping[index]; mlxsw_core 1843 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core, mlxsw_core 1848 drivers/net/ethernet/mellanox/mlxsw/core.c for (i = 0; i < MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS); i++) { mlxsw_core 1849 drivers/net/ethernet/mellanox/mlxsw/core.c int index = mlxsw_core_lag_mapping_index(mlxsw_core, mlxsw_core 1852 drivers/net/ethernet/mellanox/mlxsw/core.c if (mlxsw_core->lag.mapping[index] == local_port) mlxsw_core 1853 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->lag.mapping[index] = 0; mlxsw_core 1858 drivers/net/ethernet/mellanox/mlxsw/core.c bool mlxsw_core_res_valid(struct mlxsw_core *mlxsw_core, mlxsw_core 1861 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_res_valid(&mlxsw_core->res, res_id); mlxsw_core 1865 drivers/net/ethernet/mellanox/mlxsw/core.c u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core, mlxsw_core 1868 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_res_get(&mlxsw_core->res, res_id); mlxsw_core 1872 drivers/net/ethernet/mellanox/mlxsw/core.c static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 1879 drivers/net/ethernet/mellanox/mlxsw/core.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 1881 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 1895 drivers/net/ethernet/mellanox/mlxsw/core.c static void __mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port) mlxsw_core 1898 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 1905 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 1911 drivers/net/ethernet/mellanox/mlxsw/core.c return __mlxsw_core_port_init(mlxsw_core, local_port, mlxsw_core 1918 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port) mlxsw_core 1920 drivers/net/ethernet/mellanox/mlxsw/core.c __mlxsw_core_port_fini(mlxsw_core, local_port); mlxsw_core 1924 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_cpu_port_init(struct mlxsw_core *mlxsw_core, mlxsw_core 1930 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[MLXSW_PORT_CPU_PORT]; mlxsw_core 1933 drivers/net/ethernet/mellanox/mlxsw/core.c err = __mlxsw_core_port_init(mlxsw_core, MLXSW_PORT_CPU_PORT, mlxsw_core 1945 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 1947 drivers/net/ethernet/mellanox/mlxsw/core.c __mlxsw_core_port_fini(mlxsw_core, MLXSW_PORT_CPU_PORT); mlxsw_core 1951 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 1955 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 1963 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 1967 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 1975 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 1979 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 1987 drivers/net/ethernet/mellanox/mlxsw/core.c enum devlink_port_type mlxsw_core_port_type_get(struct mlxsw_core *mlxsw_core, mlxsw_core 1991 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 2000 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core, mlxsw_core 2004 drivers/net/ethernet/mellanox/mlxsw/core.c &mlxsw_core->ports[local_port]; mlxsw_core 2011 drivers/net/ethernet/mellanox/mlxsw/core.c static void mlxsw_core_buf_dump_dbg(struct mlxsw_core *mlxsw_core, mlxsw_core 2024 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg(mlxsw_core->bus_info->dev, "%04x - %08x %08x %08x %08x\n", mlxsw_core 2029 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_cmd_exec(struct mlxsw_core *mlxsw_core, u16 opcode, u8 opcode_mod, mlxsw_core 2038 drivers/net/ethernet/mellanox/mlxsw/core.c if (!mlxsw_core->bus->cmd_exec) mlxsw_core 2041 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg(mlxsw_core->bus_info->dev, "Cmd exec (opcode=%x(%s),opcode_mod=%x,in_mod=%x)\n", mlxsw_core 2044 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg(mlxsw_core->bus_info->dev, "Input mailbox:\n"); mlxsw_core 2045 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_buf_dump_dbg(mlxsw_core, in_mbox, in_mbox_size); mlxsw_core 2048 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_core->bus->cmd_exec(mlxsw_core->bus_priv, opcode, mlxsw_core 2054 drivers/net/ethernet/mellanox/mlxsw/core.c dev_dbg(mlxsw_core->bus_info->dev, "Output mailbox:\n"); mlxsw_core 2055 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core_buf_dump_dbg(mlxsw_core, out_mbox, out_mbox_size); mlxsw_core 2062 drivers/net/ethernet/mellanox/mlxsw/core.c dev_err(mlxsw_core->bus_info->dev, "Cmd exec failed (opcode=%x(%s),opcode_mod=%x,in_mod=%x,status=%x(%s))\n", mlxsw_core 2066 drivers/net/ethernet/mellanox/mlxsw/core.c dev_err(mlxsw_core->bus_info->dev, "Cmd exec timed-out (opcode=%x(%s),opcode_mod=%x,in_mod=%x)\n", mlxsw_core 2093 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_kvd_sizes_get(struct mlxsw_core *mlxsw_core, mlxsw_core 2098 drivers/net/ethernet/mellanox/mlxsw/core.c struct mlxsw_driver *driver = mlxsw_core->driver; mlxsw_core 2103 drivers/net/ethernet/mellanox/mlxsw/core.c return driver->kvd_sizes_get(mlxsw_core, profile, mlxsw_core 2109 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_fw_flash_start(struct mlxsw_core *mlxsw_core) mlxsw_core 2111 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->fw_flash_in_progress = true; mlxsw_core 2115 drivers/net/ethernet/mellanox/mlxsw/core.c void mlxsw_core_fw_flash_end(struct mlxsw_core *mlxsw_core) mlxsw_core 2117 drivers/net/ethernet/mellanox/mlxsw/core.c mlxsw_core->fw_flash_in_progress = false; mlxsw_core 2121 drivers/net/ethernet/mellanox/mlxsw/core.c int mlxsw_core_resources_query(struct mlxsw_core *mlxsw_core, char *mbox, mlxsw_core 2136 drivers/net/ethernet/mellanox/mlxsw/core.c err = mlxsw_cmd_query_resources(mlxsw_core, mbox, index); mlxsw_core 2158 drivers/net/ethernet/mellanox/mlxsw/core.c u32 mlxsw_core_read_frc_h(struct mlxsw_core *mlxsw_core) mlxsw_core 2160 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->bus->read_frc_h(mlxsw_core->bus_priv); mlxsw_core 2164 drivers/net/ethernet/mellanox/mlxsw/core.c u32 mlxsw_core_read_frc_l(struct mlxsw_core *mlxsw_core) mlxsw_core 2166 drivers/net/ethernet/mellanox/mlxsw/core.c return mlxsw_core->bus->read_frc_l(mlxsw_core->bus_priv); mlxsw_core 21 drivers/net/ethernet/mellanox/mlxsw/core.h struct mlxsw_core; mlxsw_core 27 drivers/net/ethernet/mellanox/mlxsw/core.h unsigned int mlxsw_core_max_ports(const struct mlxsw_core *mlxsw_core); mlxsw_core 29 drivers/net/ethernet/mellanox/mlxsw/core.h void *mlxsw_core_driver_priv(struct mlxsw_core *mlxsw_core); mlxsw_core 31 drivers/net/ethernet/mellanox/mlxsw/core.h bool mlxsw_core_res_query_enabled(const struct mlxsw_core *mlxsw_core); mlxsw_core 40 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core, bool reload); mlxsw_core 47 drivers/net/ethernet/mellanox/mlxsw/core.h bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core, mlxsw_core 49 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, mlxsw_core 51 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core, mlxsw_core 111 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core, mlxsw_core 114 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_rx_listener_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 118 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_event_listener_register(struct mlxsw_core *mlxsw_core, mlxsw_core 121 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_event_listener_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 125 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_trap_register(struct mlxsw_core *mlxsw_core, mlxsw_core 128 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_trap_unregister(struct mlxsw_core *mlxsw_core, mlxsw_core 131 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_trap_action_set(struct mlxsw_core *mlxsw_core, mlxsw_core 135 drivers/net/ethernet/mellanox/mlxsw/core.h typedef void mlxsw_reg_trans_cb_t(struct mlxsw_core *mlxsw_core, char *payload, mlxsw_core 138 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_reg_trans_query(struct mlxsw_core *mlxsw_core, mlxsw_core 142 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_reg_trans_write(struct mlxsw_core *mlxsw_core, mlxsw_core 148 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_reg_query(struct mlxsw_core *mlxsw_core, mlxsw_core 150 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_reg_write(struct mlxsw_core *mlxsw_core, mlxsw_core 163 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, mlxsw_core 166 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core, mlxsw_core 168 drivers/net/ethernet/mellanox/mlxsw/core.h u8 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core, mlxsw_core 170 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core, mlxsw_core 174 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 179 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port); mlxsw_core 180 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_cpu_port_init(struct mlxsw_core *mlxsw_core, mlxsw_core 184 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core); mlxsw_core 185 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 187 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 189 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 191 drivers/net/ethernet/mellanox/mlxsw/core.h enum devlink_port_type mlxsw_core_port_type_get(struct mlxsw_core *mlxsw_core, mlxsw_core 194 drivers/net/ethernet/mellanox/mlxsw/core.h mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core, mlxsw_core 200 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_resources_query(struct mlxsw_core *mlxsw_core, char *mbox, mlxsw_core 254 drivers/net/ethernet/mellanox/mlxsw/core.h int (*init)(struct mlxsw_core *mlxsw_core, mlxsw_core 256 drivers/net/ethernet/mellanox/mlxsw/core.h void (*fini)(struct mlxsw_core *mlxsw_core); mlxsw_core 257 drivers/net/ethernet/mellanox/mlxsw/core.h int (*basic_trap_groups_set)(struct mlxsw_core *mlxsw_core); mlxsw_core 258 drivers/net/ethernet/mellanox/mlxsw/core.h int (*port_type_set)(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 260 drivers/net/ethernet/mellanox/mlxsw/core.h int (*port_split)(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 262 drivers/net/ethernet/mellanox/mlxsw/core.h int (*port_unsplit)(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 264 drivers/net/ethernet/mellanox/mlxsw/core.h int (*sb_pool_get)(struct mlxsw_core *mlxsw_core, mlxsw_core 267 drivers/net/ethernet/mellanox/mlxsw/core.h int (*sb_pool_set)(struct mlxsw_core *mlxsw_core, mlxsw_core 286 drivers/net/ethernet/mellanox/mlxsw/core.h int (*sb_occ_snapshot)(struct mlxsw_core *mlxsw_core, mlxsw_core 288 drivers/net/ethernet/mellanox/mlxsw/core.h int (*sb_occ_max_clear)(struct mlxsw_core *mlxsw_core, mlxsw_core 297 drivers/net/ethernet/mellanox/mlxsw/core.h int (*flash_update)(struct mlxsw_core *mlxsw_core, mlxsw_core 300 drivers/net/ethernet/mellanox/mlxsw/core.h int (*trap_init)(struct mlxsw_core *mlxsw_core, mlxsw_core 302 drivers/net/ethernet/mellanox/mlxsw/core.h void (*trap_fini)(struct mlxsw_core *mlxsw_core, mlxsw_core 304 drivers/net/ethernet/mellanox/mlxsw/core.h int (*trap_action_set)(struct mlxsw_core *mlxsw_core, mlxsw_core 307 drivers/net/ethernet/mellanox/mlxsw/core.h int (*trap_group_init)(struct mlxsw_core *mlxsw_core, mlxsw_core 311 drivers/net/ethernet/mellanox/mlxsw/core.h int (*resources_register)(struct mlxsw_core *mlxsw_core); mlxsw_core 312 drivers/net/ethernet/mellanox/mlxsw/core.h int (*kvd_sizes_get)(struct mlxsw_core *mlxsw_core, mlxsw_core 316 drivers/net/ethernet/mellanox/mlxsw/core.h int (*params_register)(struct mlxsw_core *mlxsw_core); mlxsw_core 317 drivers/net/ethernet/mellanox/mlxsw/core.h void (*params_unregister)(struct mlxsw_core *mlxsw_core); mlxsw_core 322 drivers/net/ethernet/mellanox/mlxsw/core.h void (*ptp_transmitted)(struct mlxsw_core *mlxsw_core, mlxsw_core 330 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_core_kvd_sizes_get(struct mlxsw_core *mlxsw_core, mlxsw_core 335 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_fw_flash_start(struct mlxsw_core *mlxsw_core); mlxsw_core 336 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_core_fw_flash_end(struct mlxsw_core *mlxsw_core); mlxsw_core 338 drivers/net/ethernet/mellanox/mlxsw/core.h u32 mlxsw_core_read_frc_h(struct mlxsw_core *mlxsw_core); mlxsw_core 339 drivers/net/ethernet/mellanox/mlxsw/core.h u32 mlxsw_core_read_frc_l(struct mlxsw_core *mlxsw_core); mlxsw_core 341 drivers/net/ethernet/mellanox/mlxsw/core.h bool mlxsw_core_res_valid(struct mlxsw_core *mlxsw_core, mlxsw_core 344 drivers/net/ethernet/mellanox/mlxsw/core.h #define MLXSW_CORE_RES_VALID(mlxsw_core, short_res_id) \ mlxsw_core 345 drivers/net/ethernet/mellanox/mlxsw/core.h mlxsw_core_res_valid(mlxsw_core, MLXSW_RES_ID_##short_res_id) mlxsw_core 347 drivers/net/ethernet/mellanox/mlxsw/core.h u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core, mlxsw_core 350 drivers/net/ethernet/mellanox/mlxsw/core.h #define MLXSW_CORE_RES_GET(mlxsw_core, short_res_id) \ mlxsw_core 351 drivers/net/ethernet/mellanox/mlxsw/core.h mlxsw_core_res_get(mlxsw_core, MLXSW_RES_ID_##short_res_id) mlxsw_core 358 drivers/net/ethernet/mellanox/mlxsw/core.h int (*init)(void *bus_priv, struct mlxsw_core *mlxsw_core, mlxsw_core 398 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core, mlxsw_core 405 drivers/net/ethernet/mellanox/mlxsw/core.h static inline int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core, mlxsw_core 422 drivers/net/ethernet/mellanox/mlxsw/core.h int mlxsw_thermal_init(struct mlxsw_core *mlxsw_core, mlxsw_core 429 drivers/net/ethernet/mellanox/mlxsw/core.h static inline int mlxsw_thermal_init(struct mlxsw_core *mlxsw_core, mlxsw_core 13 drivers/net/ethernet/mellanox/mlxsw/core_env.c static int mlxsw_env_validate_cable_ident(struct mlxsw_core *core, int id, mlxsw_core 46 drivers/net/ethernet/mellanox/mlxsw/core_env.c mlxsw_env_query_module_eeprom(struct mlxsw_core *mlxsw_core, int module, mlxsw_core 71 drivers/net/ethernet/mellanox/mlxsw/core_env.c err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mcia), mcia_pl); mlxsw_core 86 drivers/net/ethernet/mellanox/mlxsw/core_env.c int mlxsw_env_module_temp_thresholds_get(struct mlxsw_core *core, int module, mlxsw_core 148 drivers/net/ethernet/mellanox/mlxsw/core_env.c int mlxsw_env_get_module_info(struct mlxsw_core *mlxsw_core, int module, mlxsw_core 157 drivers/net/ethernet/mellanox/mlxsw/core_env.c err = mlxsw_env_query_module_eeprom(mlxsw_core, module, 0, offset, mlxsw_core 187 drivers/net/ethernet/mellanox/mlxsw/core_env.c err = mlxsw_env_query_module_eeprom(mlxsw_core, module, mlxsw_core 211 drivers/net/ethernet/mellanox/mlxsw/core_env.c struct mlxsw_core *mlxsw_core, int module, mlxsw_core 225 drivers/net/ethernet/mellanox/mlxsw/core_env.c err = mlxsw_env_query_module_eeprom(mlxsw_core, module, offset, mlxsw_core 7 drivers/net/ethernet/mellanox/mlxsw/core_env.h int mlxsw_env_module_temp_thresholds_get(struct mlxsw_core *core, int module, mlxsw_core 10 drivers/net/ethernet/mellanox/mlxsw/core_env.h int mlxsw_env_get_module_info(struct mlxsw_core *mlxsw_core, int module, mlxsw_core 14 drivers/net/ethernet/mellanox/mlxsw/core_env.h struct mlxsw_core *mlxsw_core, int module, mlxsw_core 35 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c struct mlxsw_core *core; mlxsw_core 627 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core, mlxsw_core 638 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c mlxsw_hwmon->core = mlxsw_core; mlxsw_core 106 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c struct mlxsw_core *core; mlxsw_core 162 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c mlxsw_thermal_module_trips_update(struct device *dev, struct mlxsw_core *core, mlxsw_core 792 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c mlxsw_thermal_module_init(struct device *dev, struct mlxsw_core *core, mlxsw_core 834 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c mlxsw_thermal_modules_init(struct device *dev, struct mlxsw_core *core, mlxsw_core 915 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c mlxsw_thermal_gearboxes_init(struct device *dev, struct mlxsw_core *core, mlxsw_core 974 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c int mlxsw_thermal_init(struct mlxsw_core *core, mlxsw_core 75 drivers/net/ethernet/mellanox/mlxsw/i2c.c struct mlxsw_core *core; mlxsw_core 509 drivers/net/ethernet/mellanox/mlxsw/i2c.c mlxsw_i2c_init(void *bus_priv, struct mlxsw_core *mlxsw_core, mlxsw_core 517 drivers/net/ethernet/mellanox/mlxsw/i2c.c mlxsw_i2c->core = mlxsw_core; mlxsw_core 523 drivers/net/ethernet/mellanox/mlxsw/i2c.c err = mlxsw_cmd_query_fw(mlxsw_core, mbox); mlxsw_core 534 drivers/net/ethernet/mellanox/mlxsw/i2c.c err = mlxsw_core_resources_query(mlxsw_core, mbox, res); mlxsw_core 24 drivers/net/ethernet/mellanox/mlxsw/minimal.c struct mlxsw_core *core; mlxsw_core 91 drivers/net/ethernet/mellanox/mlxsw/minimal.c struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core; mlxsw_core 101 drivers/net/ethernet/mellanox/mlxsw/minimal.c struct mlxsw_core *core = mlxsw_m_port->mlxsw_m->core; mlxsw_core 328 drivers/net/ethernet/mellanox/mlxsw/minimal.c static int mlxsw_m_init(struct mlxsw_core *mlxsw_core, mlxsw_core 331 drivers/net/ethernet/mellanox/mlxsw/minimal.c struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 334 drivers/net/ethernet/mellanox/mlxsw/minimal.c mlxsw_m->core = mlxsw_core; mlxsw_core 352 drivers/net/ethernet/mellanox/mlxsw/minimal.c static void mlxsw_m_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 354 drivers/net/ethernet/mellanox/mlxsw/minimal.c struct mlxsw_m *mlxsw_m = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 108 drivers/net/ethernet/mellanox/mlxsw/pci.c struct mlxsw_core *core; mlxsw_core 1394 drivers/net/ethernet/mellanox/mlxsw/pci.c static int mlxsw_pci_init(void *bus_priv, struct mlxsw_core *mlxsw_core, mlxsw_core 1407 drivers/net/ethernet/mellanox/mlxsw/pci.c mlxsw_pci->core = mlxsw_core; mlxsw_core 1431 drivers/net/ethernet/mellanox/mlxsw/pci.c err = mlxsw_cmd_query_fw(mlxsw_core, mbox); mlxsw_core 1474 drivers/net/ethernet/mellanox/mlxsw/pci.c err = mlxsw_core_resources_query(mlxsw_core, mbox, res); mlxsw_core 1478 drivers/net/ethernet/mellanox/mlxsw/pci.c if (MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V2) && mlxsw_core 1479 drivers/net/ethernet/mellanox/mlxsw/pci.c MLXSW_CORE_RES_GET(mlxsw_core, CQE_V2)) mlxsw_core 1481 drivers/net/ethernet/mellanox/mlxsw/pci.c else if (MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V1) && mlxsw_core 1482 drivers/net/ethernet/mellanox/mlxsw/pci.c MLXSW_CORE_RES_GET(mlxsw_core, CQE_V1)) mlxsw_core 1484 drivers/net/ethernet/mellanox/mlxsw/pci.c else if ((MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V0) && mlxsw_core 1485 drivers/net/ethernet/mellanox/mlxsw/pci.c MLXSW_CORE_RES_GET(mlxsw_core, CQE_V0)) || mlxsw_core 1486 drivers/net/ethernet/mellanox/mlxsw/pci.c !MLXSW_CORE_RES_VALID(mlxsw_core, CQE_V0)) { mlxsw_core 444 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_flash_update(struct mlxsw_core *mlxsw_core, mlxsw_core 448 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 4053 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 4057 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 4064 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, LOCAL_PORTS_IN_1X) || mlxsw_core 4065 drivers/net/ethernet/mellanox/mlxsw/spectrum.c !MLXSW_CORE_RES_VALID(mlxsw_core, LOCAL_PORTS_IN_2X)) mlxsw_core 4068 drivers/net/ethernet/mellanox/mlxsw/spectrum.c local_ports_in_1x = MLXSW_CORE_RES_GET(mlxsw_core, LOCAL_PORTS_IN_1X); mlxsw_core 4069 drivers/net/ethernet/mellanox/mlxsw/spectrum.c local_ports_in_2x = MLXSW_CORE_RES_GET(mlxsw_core, LOCAL_PORTS_IN_2X); mlxsw_core 4132 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 4135 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 4142 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, LOCAL_PORTS_IN_1X) || mlxsw_core 4143 drivers/net/ethernet/mellanox/mlxsw/spectrum.c !MLXSW_CORE_RES_VALID(mlxsw_core, LOCAL_PORTS_IN_2X)) mlxsw_core 4146 drivers/net/ethernet/mellanox/mlxsw/spectrum.c local_ports_in_1x = MLXSW_CORE_RES_GET(mlxsw_core, LOCAL_PORTS_IN_1X); mlxsw_core 4147 drivers/net/ethernet/mellanox/mlxsw/spectrum.c local_ports_in_2x = MLXSW_CORE_RES_GET(mlxsw_core, LOCAL_PORTS_IN_2X); mlxsw_core 4446 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_cpu_policers_set(struct mlxsw_core *mlxsw_core) mlxsw_core 4456 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_CPU_POLICERS)) mlxsw_core 4459 drivers/net/ethernet/mellanox/mlxsw/spectrum.c max_cpu_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_CPU_POLICERS); mlxsw_core 4513 drivers/net/ethernet/mellanox/mlxsw/spectrum.c err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(qpcr), qpcr_pl); mlxsw_core 4521 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_trap_groups_set(struct mlxsw_core *mlxsw_core) mlxsw_core 4531 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, MAX_TRAP_GROUPS)) mlxsw_core 4534 drivers/net/ethernet/mellanox/mlxsw/spectrum.c max_trap_groups = MLXSW_CORE_RES_GET(mlxsw_core, MAX_TRAP_GROUPS); mlxsw_core 4535 drivers/net/ethernet/mellanox/mlxsw/spectrum.c max_cpu_policers = MLXSW_CORE_RES_GET(mlxsw_core, MAX_CPU_POLICERS); mlxsw_core 4590 drivers/net/ethernet/mellanox/mlxsw/spectrum.c err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl); mlxsw_core 4716 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_basic_trap_groups_set(struct mlxsw_core *mlxsw_core) mlxsw_core 4724 drivers/net/ethernet/mellanox/mlxsw/spectrum.c return mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl); mlxsw_core 4762 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core, mlxsw_core 4765 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 4768 drivers/net/ethernet/mellanox/mlxsw/spectrum.c mlxsw_sp->core = mlxsw_core; mlxsw_core 4948 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp1_init(struct mlxsw_core *mlxsw_core, mlxsw_core 4951 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 4969 drivers/net/ethernet/mellanox/mlxsw/spectrum.c return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info); mlxsw_core 4972 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp2_init(struct mlxsw_core *mlxsw_core, mlxsw_core 4975 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 4989 drivers/net/ethernet/mellanox/mlxsw/spectrum.c return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info); mlxsw_core 4992 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 4994 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 5069 drivers/net/ethernet/mellanox/mlxsw/spectrum.c mlxsw_sp_resource_size_params_prepare(struct mlxsw_core *mlxsw_core, mlxsw_core 5075 drivers/net/ethernet/mellanox/mlxsw/spectrum.c u32 single_size_min = MLXSW_CORE_RES_GET(mlxsw_core, mlxsw_core 5077 drivers/net/ethernet/mellanox/mlxsw/spectrum.c u32 double_size_min = MLXSW_CORE_RES_GET(mlxsw_core, mlxsw_core 5079 drivers/net/ethernet/mellanox/mlxsw/spectrum.c u32 kvd_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE); mlxsw_core 5104 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp1_resources_kvd_register(struct mlxsw_core *mlxsw_core) mlxsw_core 5106 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 5116 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_SIZE)) mlxsw_core 5119 drivers/net/ethernet/mellanox/mlxsw/spectrum.c mlxsw_sp_resource_size_params_prepare(mlxsw_core, &kvd_size_params, mlxsw_core 5124 drivers/net/ethernet/mellanox/mlxsw/spectrum.c kvd_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE); mlxsw_core 5141 drivers/net/ethernet/mellanox/mlxsw/spectrum.c err = mlxsw_sp1_kvdl_resources_register(mlxsw_core); mlxsw_core 5170 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp2_resources_kvd_register(struct mlxsw_core *mlxsw_core) mlxsw_core 5172 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 5176 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_SIZE)) mlxsw_core 5179 drivers/net/ethernet/mellanox/mlxsw/spectrum.c kvd_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE); mlxsw_core 5190 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp1_resources_register(struct mlxsw_core *mlxsw_core) mlxsw_core 5192 drivers/net/ethernet/mellanox/mlxsw/spectrum.c return mlxsw_sp1_resources_kvd_register(mlxsw_core); mlxsw_core 5195 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp2_resources_register(struct mlxsw_core *mlxsw_core) mlxsw_core 5197 drivers/net/ethernet/mellanox/mlxsw/spectrum.c return mlxsw_sp2_resources_kvd_register(mlxsw_core); mlxsw_core 5200 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_kvd_sizes_get(struct mlxsw_core *mlxsw_core, mlxsw_core 5205 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 5209 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!MLXSW_CORE_RES_VALID(mlxsw_core, KVD_SINGLE_MIN_SIZE) || mlxsw_core 5210 drivers/net/ethernet/mellanox/mlxsw/spectrum.c !MLXSW_CORE_RES_VALID(mlxsw_core, KVD_DOUBLE_MIN_SIZE)) mlxsw_core 5230 drivers/net/ethernet/mellanox/mlxsw/spectrum.c double_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) - mlxsw_core 5243 drivers/net/ethernet/mellanox/mlxsw/spectrum.c *p_single_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) - mlxsw_core 5247 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (*p_single_size < MLXSW_CORE_RES_GET(mlxsw_core, KVD_SINGLE_MIN_SIZE) || mlxsw_core 5248 drivers/net/ethernet/mellanox/mlxsw/spectrum.c *p_double_size < MLXSW_CORE_RES_GET(mlxsw_core, KVD_DOUBLE_MIN_SIZE) || mlxsw_core 5249 drivers/net/ethernet/mellanox/mlxsw/spectrum.c MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) < *p_linear_size) mlxsw_core 5276 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_params_register(struct mlxsw_core *mlxsw_core) mlxsw_core 5278 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 5294 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp_params_unregister(struct mlxsw_core *mlxsw_core) mlxsw_core 5296 drivers/net/ethernet/mellanox/mlxsw/spectrum.c devlink_params_unregister(priv_to_devlink(mlxsw_core), mlxsw_core 5305 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 5306 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 5316 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_core *mlxsw_core = devlink_priv(devlink); mlxsw_core 5317 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 5332 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp2_params_register(struct mlxsw_core *mlxsw_core) mlxsw_core 5334 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 5338 drivers/net/ethernet/mellanox/mlxsw/spectrum.c err = mlxsw_sp_params_register(mlxsw_core); mlxsw_core 5354 drivers/net/ethernet/mellanox/mlxsw/spectrum.c mlxsw_sp_params_unregister(mlxsw_core); mlxsw_core 5358 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp2_params_unregister(struct mlxsw_core *mlxsw_core) mlxsw_core 5360 drivers/net/ethernet/mellanox/mlxsw/spectrum.c devlink_params_unregister(priv_to_devlink(mlxsw_core), mlxsw_core 5363 drivers/net/ethernet/mellanox/mlxsw/spectrum.c mlxsw_sp_params_unregister(mlxsw_core); mlxsw_core 5366 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp_ptp_transmitted(struct mlxsw_core *mlxsw_core, mlxsw_core 5369 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 144 drivers/net/ethernet/mellanox/mlxsw/spectrum.h struct mlxsw_core *core; mlxsw_core 394 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_sb_pool_get(struct mlxsw_core *mlxsw_core, mlxsw_core 397 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_sb_pool_set(struct mlxsw_core *mlxsw_core, mlxsw_core 416 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core, mlxsw_core 418 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core, mlxsw_core 628 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp1_kvdl_resources_register(struct mlxsw_core *mlxsw_core); mlxsw_core 975 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_trap_init(struct mlxsw_core *mlxsw_core, mlxsw_core 977 drivers/net/ethernet/mellanox/mlxsw/spectrum.h void mlxsw_sp_trap_fini(struct mlxsw_core *mlxsw_core, mlxsw_core 979 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_trap_action_set(struct mlxsw_core *mlxsw_core, mlxsw_core 982 drivers/net/ethernet/mellanox/mlxsw/spectrum.h int mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core, mlxsw_core 386 drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c int mlxsw_sp1_kvdl_resources_register(struct mlxsw_core *mlxsw_core) mlxsw_core 388 drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c struct devlink *devlink = priv_to_devlink(mlxsw_core); mlxsw_core 393 drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c kvdl_max_size = MLXSW_CORE_RES_GET(mlxsw_core, KVD_SIZE) - mlxsw_core 394 drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c MLXSW_CORE_RES_GET(mlxsw_core, KVD_SINGLE_MIN_SIZE) - mlxsw_core 395 drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c MLXSW_CORE_RES_GET(mlxsw_core, KVD_DOUBLE_MIN_SIZE); mlxsw_core 263 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c static void mlxsw_sp_sb_pm_occ_query_cb(struct mlxsw_core *mlxsw_core, mlxsw_core 986 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c int mlxsw_sp_sb_pool_get(struct mlxsw_core *mlxsw_core, mlxsw_core 990 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1003 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c int mlxsw_sp_sb_pool_set(struct mlxsw_core *mlxsw_core, mlxsw_core 1008 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1189 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core, mlxsw_core 1193 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1205 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) { mlxsw_core 1224 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) { mlxsw_core 1238 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core, mlxsw_core 1241 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1266 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c for (; local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) { mlxsw_core 1289 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c err = mlxsw_reg_trans_query(mlxsw_core, MLXSW_REG(sbsr), sbsr_pl, mlxsw_core 1294 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c if (local_port < mlxsw_core_max_ports(mlxsw_core)) { mlxsw_core 1307 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core, mlxsw_core 1310 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1331 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c for (; local_port < mlxsw_core_max_ports(mlxsw_core); local_port++) { mlxsw_core 1351 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c err = mlxsw_reg_trans_query(mlxsw_core, MLXSW_REG(sbsr), sbsr_pl, mlxsw_core 1355 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c if (local_port < mlxsw_core_max_ports(mlxsw_core)) { mlxsw_core 62 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c struct mlxsw_core *core; mlxsw_core 76 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c struct mlxsw_core *mlxsw_core = clock->core; mlxsw_core 79 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c frc_h1 = mlxsw_core_read_frc_h(mlxsw_core); mlxsw_core 81 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c frc_l = mlxsw_core_read_frc_l(mlxsw_core); mlxsw_core 83 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c frc_h2 = mlxsw_core_read_frc_h(mlxsw_core); mlxsw_core 88 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c frc_l = mlxsw_core_read_frc_l(mlxsw_core); mlxsw_core 106 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c struct mlxsw_core *mlxsw_core = clock->core; mlxsw_core 111 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl); mlxsw_core 127 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c struct mlxsw_core *mlxsw_core = clock->core; mlxsw_core 141 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtpps), mtpps_pl); mlxsw_core 148 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c return mlxsw_reg_write(mlxsw_core, MLXSW_REG(mtutc), mtutc_pl); mlxsw_core 128 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c int mlxsw_sp_trap_init(struct mlxsw_core *mlxsw_core, mlxsw_core 141 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c err = mlxsw_core_trap_register(mlxsw_core, listener, trap_ctx); mlxsw_core 149 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c void mlxsw_sp_trap_fini(struct mlxsw_core *mlxsw_core, mlxsw_core 161 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c mlxsw_core_trap_unregister(mlxsw_core, listener, trap_ctx); mlxsw_core 165 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c int mlxsw_sp_trap_action_set(struct mlxsw_core *mlxsw_core, mlxsw_core 191 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c err = mlxsw_core_trap_action_set(mlxsw_core, listener, mlxsw_core 253 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c int mlxsw_sp_trap_group_init(struct mlxsw_core *mlxsw_core, mlxsw_core 256 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 31 drivers/net/ethernet/mellanox/mlxsw/switchib.c struct mlxsw_core *core; mlxsw_core 434 drivers/net/ethernet/mellanox/mlxsw/switchib.c static int mlxsw_sib_basic_trap_groups_set(struct mlxsw_core *mlxsw_core) mlxsw_core 445 drivers/net/ethernet/mellanox/mlxsw/switchib.c return mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl); mlxsw_core 448 drivers/net/ethernet/mellanox/mlxsw/switchib.c static int mlxsw_sib_init(struct mlxsw_core *mlxsw_core, mlxsw_core 451 drivers/net/ethernet/mellanox/mlxsw/switchib.c struct mlxsw_sib *mlxsw_sib = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 454 drivers/net/ethernet/mellanox/mlxsw/switchib.c mlxsw_sib->core = mlxsw_core; mlxsw_core 482 drivers/net/ethernet/mellanox/mlxsw/switchib.c static void mlxsw_sib_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 484 drivers/net/ethernet/mellanox/mlxsw/switchib.c struct mlxsw_sib *mlxsw_sib = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 30 drivers/net/ethernet/mellanox/mlxsw/switchx2.c struct mlxsw_core *core; mlxsw_core 1373 drivers/net/ethernet/mellanox/mlxsw/switchx2.c static int mlxsw_sx_port_type_set(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core 1376 drivers/net/ethernet/mellanox/mlxsw/switchx2.c struct mlxsw_sx *mlxsw_sx = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1554 drivers/net/ethernet/mellanox/mlxsw/switchx2.c static int mlxsw_sx_basic_trap_groups_set(struct mlxsw_core *mlxsw_core) mlxsw_core 1565 drivers/net/ethernet/mellanox/mlxsw/switchx2.c return mlxsw_reg_write(mlxsw_core, MLXSW_REG(htgt), htgt_pl); mlxsw_core 1568 drivers/net/ethernet/mellanox/mlxsw/switchx2.c static int mlxsw_sx_init(struct mlxsw_core *mlxsw_core, mlxsw_core 1571 drivers/net/ethernet/mellanox/mlxsw/switchx2.c struct mlxsw_sx *mlxsw_sx = mlxsw_core_driver_priv(mlxsw_core); mlxsw_core 1574 drivers/net/ethernet/mellanox/mlxsw/switchx2.c mlxsw_sx->core = mlxsw_core; mlxsw_core 1610 drivers/net/ethernet/mellanox/mlxsw/switchx2.c static void mlxsw_sx_fini(struct mlxsw_core *mlxsw_core) mlxsw_core 1612 drivers/net/ethernet/mellanox/mlxsw/switchx2.c struct mlxsw_sx *mlxsw_sx = mlxsw_core_driver_priv(mlxsw_core);