Lines Matching refs:mlx5_core_dev
201 struct mlx5_core_dev *dev;
404 struct mlx5_core_dev *mdev;
474 struct mlx5_core_dev *dev;
670 struct mlx5_core_dev { struct
820 static inline struct mlx5_core_dev *pci2mlx5_core_dev(struct pci_dev *pdev) in pci2mlx5_core_dev()
827 static inline u16 fw_rev_maj(struct mlx5_core_dev *dev) in fw_rev_maj()
832 static inline u16 fw_rev_min(struct mlx5_core_dev *dev) in fw_rev_min()
837 static inline u16 fw_rev_sub(struct mlx5_core_dev *dev) in fw_rev_sub()
891 int mlx5_cmd_init(struct mlx5_core_dev *dev);
892 void mlx5_cmd_cleanup(struct mlx5_core_dev *dev);
893 void mlx5_cmd_set_state(struct mlx5_core_dev *dev,
895 void mlx5_cmd_use_events(struct mlx5_core_dev *dev);
896 void mlx5_cmd_use_polling(struct mlx5_core_dev *dev);
897 void mlx5_cmd_allowed_opcode(struct mlx5_core_dev *dev, u16 opcode);
900 struct mlx5_core_dev *dev;
914 void mlx5_cmd_init_async_ctx(struct mlx5_core_dev *dev,
921 int mlx5_cmd_exec(struct mlx5_core_dev *dev, void *in, int in_size, void *out,
936 int mlx5_cmd_exec_polling(struct mlx5_core_dev *dev, void *in, int in_size,
939 bool mlx5_cmd_is_down(struct mlx5_core_dev *dev);
941 int mlx5_core_get_caps(struct mlx5_core_dev *dev, enum mlx5_cap_type cap_type);
942 int mlx5_cmd_alloc_uar(struct mlx5_core_dev *dev, u32 *uarn);
943 int mlx5_cmd_free_uar(struct mlx5_core_dev *dev, u32 uarn);
944 void mlx5_health_flush(struct mlx5_core_dev *dev);
945 void mlx5_health_cleanup(struct mlx5_core_dev *dev);
946 int mlx5_health_init(struct mlx5_core_dev *dev);
947 void mlx5_start_health_poll(struct mlx5_core_dev *dev);
948 void mlx5_stop_health_poll(struct mlx5_core_dev *dev, bool disable_health);
949 void mlx5_drain_health_wq(struct mlx5_core_dev *dev);
950 void mlx5_trigger_health_work(struct mlx5_core_dev *dev);
951 int mlx5_buf_alloc(struct mlx5_core_dev *dev,
953 void mlx5_buf_free(struct mlx5_core_dev *dev, struct mlx5_frag_buf *buf);
954 int mlx5_frag_buf_alloc_node(struct mlx5_core_dev *dev, int size,
956 void mlx5_frag_buf_free(struct mlx5_core_dev *dev, struct mlx5_frag_buf *buf);
957 struct mlx5_cmd_mailbox *mlx5_alloc_cmd_mailbox_chain(struct mlx5_core_dev *dev,
959 void mlx5_free_cmd_mailbox_chain(struct mlx5_core_dev *dev,
961 int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
964 int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev,
966 int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *mkey,
968 int mlx5_core_alloc_pd(struct mlx5_core_dev *dev, u32 *pdn);
969 int mlx5_core_dealloc_pd(struct mlx5_core_dev *dev, u32 pdn);
970 int mlx5_pagealloc_init(struct mlx5_core_dev *dev);
971 void mlx5_pagealloc_cleanup(struct mlx5_core_dev *dev);
972 void mlx5_pagealloc_start(struct mlx5_core_dev *dev);
973 void mlx5_pagealloc_stop(struct mlx5_core_dev *dev);
974 void mlx5_core_req_pages_handler(struct mlx5_core_dev *dev, u16 func_id,
976 int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev, int boot);
977 int mlx5_reclaim_startup_pages(struct mlx5_core_dev *dev);
984 int mlx5_vector2eqn(struct mlx5_core_dev *dev, int vector, int *eqn,
986 int mlx5_core_attach_mcg(struct mlx5_core_dev *dev, union ib_gid *mgid, u32 qpn);
987 int mlx5_core_detach_mcg(struct mlx5_core_dev *dev, union ib_gid *mgid, u32 qpn);
989 void mlx5_qp_debugfs_init(struct mlx5_core_dev *dev);
990 void mlx5_qp_debugfs_cleanup(struct mlx5_core_dev *dev);
991 int mlx5_core_access_reg(struct mlx5_core_dev *dev, void *data_in,
995 int mlx5_db_alloc(struct mlx5_core_dev *dev, struct mlx5_db *db);
996 int mlx5_db_alloc_node(struct mlx5_core_dev *dev, struct mlx5_db *db,
998 void mlx5_db_free(struct mlx5_core_dev *dev, struct mlx5_db *db);
1001 void mlx5_cmdif_debugfs_init(struct mlx5_core_dev *dev);
1002 void mlx5_cmdif_debugfs_cleanup(struct mlx5_core_dev *dev);
1003 int mlx5_core_create_psv(struct mlx5_core_dev *dev, u32 pdn,
1005 int mlx5_core_destroy_psv(struct mlx5_core_dev *dev, int psv_num);
1007 int mlx5_query_odp_caps(struct mlx5_core_dev *dev,
1009 int mlx5_core_query_ib_ppcnt(struct mlx5_core_dev *dev,
1012 int mlx5_init_rl_table(struct mlx5_core_dev *dev);
1013 void mlx5_cleanup_rl_table(struct mlx5_core_dev *dev);
1014 int mlx5_rl_add_rate(struct mlx5_core_dev *dev, u16 *index,
1016 void mlx5_rl_remove_rate(struct mlx5_core_dev *dev, struct mlx5_rate_limit *rl);
1017 bool mlx5_rl_is_in_range(struct mlx5_core_dev *dev, u32 rate);
1018 int mlx5_rl_add_rate_raw(struct mlx5_core_dev *dev, void *rl_in, u16 uid,
1020 void mlx5_rl_remove_rate_raw(struct mlx5_core_dev *dev, u16 index);
1023 int mlx5_alloc_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg,
1025 void mlx5_free_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg);
1027 unsigned int mlx5_comp_vectors_count(struct mlx5_core_dev *dev);
1029 mlx5_comp_irq_get_affinity_mask(struct mlx5_core_dev *dev, int vector);
1030 unsigned int mlx5_core_reserved_gids_count(struct mlx5_core_dev *dev);
1031 int mlx5_core_roce_gid_set(struct mlx5_core_dev *dev, unsigned int index,
1069 void * (*add)(struct mlx5_core_dev *dev);
1070 void (*remove)(struct mlx5_core_dev *dev, void *context);
1071 int (*attach)(struct mlx5_core_dev *dev, void *context);
1072 void (*detach)(struct mlx5_core_dev *dev, void *context);
1079 int mlx5_notifier_register(struct mlx5_core_dev *dev, struct notifier_block *nb);
1080 int mlx5_notifier_unregister(struct mlx5_core_dev *dev, struct notifier_block *nb);
1081 int mlx5_eq_notifier_register(struct mlx5_core_dev *dev, struct mlx5_nb *nb);
1082 int mlx5_eq_notifier_unregister(struct mlx5_core_dev *dev, struct mlx5_nb *nb);
1084 int mlx5_core_query_vendor_id(struct mlx5_core_dev *mdev, u32 *vendor_id);
1086 int mlx5_cmd_create_vport_lag(struct mlx5_core_dev *dev);
1087 int mlx5_cmd_destroy_vport_lag(struct mlx5_core_dev *dev);
1088 bool mlx5_lag_is_roce(struct mlx5_core_dev *dev);
1089 bool mlx5_lag_is_sriov(struct mlx5_core_dev *dev);
1090 bool mlx5_lag_is_multipath(struct mlx5_core_dev *dev);
1091 bool mlx5_lag_is_active(struct mlx5_core_dev *dev);
1092 struct net_device *mlx5_lag_get_roce_netdev(struct mlx5_core_dev *dev);
1093 u8 mlx5_lag_get_slave_port(struct mlx5_core_dev *dev,
1095 int mlx5_lag_query_cong_counters(struct mlx5_core_dev *dev,
1099 struct mlx5_uars_page *mlx5_get_uars_page(struct mlx5_core_dev *mdev);
1100 void mlx5_put_uars_page(struct mlx5_core_dev *mdev, struct mlx5_uars_page *up);
1101 int mlx5_dm_sw_icm_alloc(struct mlx5_core_dev *dev, enum mlx5_sw_icm_type type,
1104 int mlx5_dm_sw_icm_dealloc(struct mlx5_core_dev *dev, enum mlx5_sw_icm_type type,
1108 struct net_device *mlx5_rdma_netdev_alloc(struct mlx5_core_dev *mdev,
1113 int mlx5_rdma_rn_get_params(struct mlx5_core_dev *mdev,
1130 static inline bool mlx5_core_is_pf(const struct mlx5_core_dev *dev) in mlx5_core_is_pf()
1135 static inline bool mlx5_core_is_vf(const struct mlx5_core_dev *dev) in mlx5_core_is_vf()
1140 static inline bool mlx5_core_is_ecpf(struct mlx5_core_dev *dev) in mlx5_core_is_ecpf()
1146 mlx5_core_is_ecpf_esw_manager(const struct mlx5_core_dev *dev) in mlx5_core_is_ecpf_esw_manager()
1151 static inline bool mlx5_ecpf_vport_exists(const struct mlx5_core_dev *dev) in mlx5_ecpf_vport_exists()
1156 static inline u16 mlx5_core_max_vfs(const struct mlx5_core_dev *dev) in mlx5_core_max_vfs()
1171 static inline bool mlx5_rl_is_supported(struct mlx5_core_dev *dev) in mlx5_rl_is_supported()
1176 static inline int mlx5_core_is_mp_slave(struct mlx5_core_dev *dev) in mlx5_core_is_mp_slave()
1182 static inline int mlx5_core_is_mp_master(struct mlx5_core_dev *dev) in mlx5_core_is_mp_master()
1187 static inline int mlx5_core_mp_enabled(struct mlx5_core_dev *dev) in mlx5_core_mp_enabled()
1193 static inline int mlx5_core_native_port_num(struct mlx5_core_dev *dev) in mlx5_core_native_port_num()
1205 static inline bool mlx5_is_roce_enabled(struct mlx5_core_dev *dev) in mlx5_is_roce_enabled()
1229 static inline struct net *mlx5_core_net(struct mlx5_core_dev *dev) in mlx5_core_net()