Lines Matching refs:mlx5_core_dev
197 struct mlx5_core_dev *dev;
409 struct mlx5_core_dev *mdev;
474 struct mlx5_core_dev *dev;
651 struct mlx5_core_dev *mdev;
674 struct mlx5_core_dev { struct
818 static inline struct mlx5_core_dev *pci2mlx5_core_dev(struct pci_dev *pdev) in pci2mlx5_core_dev()
825 static inline u16 fw_rev_maj(struct mlx5_core_dev *dev) in fw_rev_maj()
830 static inline u16 fw_rev_min(struct mlx5_core_dev *dev) in fw_rev_min()
835 static inline u16 fw_rev_sub(struct mlx5_core_dev *dev) in fw_rev_sub()
840 static inline u16 cmdif_rev(struct mlx5_core_dev *dev) in cmdif_rev()
890 int mlx5_cmd_init(struct mlx5_core_dev *dev);
891 void mlx5_cmd_cleanup(struct mlx5_core_dev *dev);
892 void mlx5_cmd_use_events(struct mlx5_core_dev *dev);
893 void mlx5_cmd_use_polling(struct mlx5_core_dev *dev);
896 struct mlx5_core_dev *dev;
910 void mlx5_cmd_init_async_ctx(struct mlx5_core_dev *dev,
917 int mlx5_cmd_exec(struct mlx5_core_dev *dev, void *in, int in_size, void *out,
919 int mlx5_cmd_exec_polling(struct mlx5_core_dev *dev, void *in, int in_size,
923 int mlx5_core_get_caps(struct mlx5_core_dev *dev, enum mlx5_cap_type cap_type);
924 int mlx5_cmd_alloc_uar(struct mlx5_core_dev *dev, u32 *uarn);
925 int mlx5_cmd_free_uar(struct mlx5_core_dev *dev, u32 uarn);
926 void mlx5_health_flush(struct mlx5_core_dev *dev);
927 void mlx5_health_cleanup(struct mlx5_core_dev *dev);
928 int mlx5_health_init(struct mlx5_core_dev *dev);
929 void mlx5_start_health_poll(struct mlx5_core_dev *dev);
930 void mlx5_stop_health_poll(struct mlx5_core_dev *dev, bool disable_health);
931 void mlx5_drain_health_wq(struct mlx5_core_dev *dev);
932 void mlx5_trigger_health_work(struct mlx5_core_dev *dev);
933 int mlx5_buf_alloc_node(struct mlx5_core_dev *dev, int size,
935 int mlx5_buf_alloc(struct mlx5_core_dev *dev,
937 void mlx5_buf_free(struct mlx5_core_dev *dev, struct mlx5_frag_buf *buf);
938 int mlx5_frag_buf_alloc_node(struct mlx5_core_dev *dev, int size,
940 void mlx5_frag_buf_free(struct mlx5_core_dev *dev, struct mlx5_frag_buf *buf);
941 struct mlx5_cmd_mailbox *mlx5_alloc_cmd_mailbox_chain(struct mlx5_core_dev *dev,
943 void mlx5_free_cmd_mailbox_chain(struct mlx5_core_dev *dev,
945 void mlx5_init_mkey_table(struct mlx5_core_dev *dev);
946 void mlx5_cleanup_mkey_table(struct mlx5_core_dev *dev);
947 int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev,
953 int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
956 int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev,
958 int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *mkey,
960 int mlx5_core_alloc_pd(struct mlx5_core_dev *dev, u32 *pdn);
961 int mlx5_core_dealloc_pd(struct mlx5_core_dev *dev, u32 pdn);
962 int mlx5_pagealloc_init(struct mlx5_core_dev *dev);
963 void mlx5_pagealloc_cleanup(struct mlx5_core_dev *dev);
964 void mlx5_pagealloc_start(struct mlx5_core_dev *dev);
965 void mlx5_pagealloc_stop(struct mlx5_core_dev *dev);
966 void mlx5_core_req_pages_handler(struct mlx5_core_dev *dev, u16 func_id,
968 int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev, int boot);
969 int mlx5_reclaim_startup_pages(struct mlx5_core_dev *dev);
975 int mlx5_vector2eqn(struct mlx5_core_dev *dev, int vector, int *eqn,
977 int mlx5_core_attach_mcg(struct mlx5_core_dev *dev, union ib_gid *mgid, u32 qpn);
978 int mlx5_core_detach_mcg(struct mlx5_core_dev *dev, union ib_gid *mgid, u32 qpn);
980 void mlx5_qp_debugfs_init(struct mlx5_core_dev *dev);
981 void mlx5_qp_debugfs_cleanup(struct mlx5_core_dev *dev);
982 int mlx5_core_access_reg(struct mlx5_core_dev *dev, void *data_in,
986 int mlx5_db_alloc(struct mlx5_core_dev *dev, struct mlx5_db *db);
987 int mlx5_db_alloc_node(struct mlx5_core_dev *dev, struct mlx5_db *db,
989 void mlx5_db_free(struct mlx5_core_dev *dev, struct mlx5_db *db);
992 void mlx5_cmdif_debugfs_init(struct mlx5_core_dev *dev);
993 void mlx5_cmdif_debugfs_cleanup(struct mlx5_core_dev *dev);
994 int mlx5_core_create_psv(struct mlx5_core_dev *dev, u32 pdn,
996 int mlx5_core_destroy_psv(struct mlx5_core_dev *dev, int psv_num);
998 int mlx5_query_odp_caps(struct mlx5_core_dev *dev,
1000 int mlx5_core_query_ib_ppcnt(struct mlx5_core_dev *dev,
1003 int mlx5_init_rl_table(struct mlx5_core_dev *dev);
1004 void mlx5_cleanup_rl_table(struct mlx5_core_dev *dev);
1005 int mlx5_rl_add_rate(struct mlx5_core_dev *dev, u16 *index,
1007 void mlx5_rl_remove_rate(struct mlx5_core_dev *dev, struct mlx5_rate_limit *rl);
1008 bool mlx5_rl_is_in_range(struct mlx5_core_dev *dev, u32 rate);
1011 int mlx5_alloc_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg,
1013 void mlx5_free_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg);
1015 unsigned int mlx5_comp_vectors_count(struct mlx5_core_dev *dev);
1017 mlx5_comp_irq_get_affinity_mask(struct mlx5_core_dev *dev, int vector);
1018 unsigned int mlx5_core_reserved_gids_count(struct mlx5_core_dev *dev);
1019 int mlx5_core_roce_gid_set(struct mlx5_core_dev *dev, unsigned int index,
1023 static inline int fw_initializing(struct mlx5_core_dev *dev) in fw_initializing()
1061 void * (*add)(struct mlx5_core_dev *dev);
1062 void (*remove)(struct mlx5_core_dev *dev, void *context);
1063 int (*attach)(struct mlx5_core_dev *dev, void *context);
1064 void (*detach)(struct mlx5_core_dev *dev, void *context);
1071 int mlx5_notifier_register(struct mlx5_core_dev *dev, struct notifier_block *nb);
1072 int mlx5_notifier_unregister(struct mlx5_core_dev *dev, struct notifier_block *nb);
1073 int mlx5_eq_notifier_register(struct mlx5_core_dev *dev, struct mlx5_nb *nb);
1074 int mlx5_eq_notifier_unregister(struct mlx5_core_dev *dev, struct mlx5_nb *nb);
1076 int mlx5_core_query_vendor_id(struct mlx5_core_dev *mdev, u32 *vendor_id);
1078 int mlx5_cmd_create_vport_lag(struct mlx5_core_dev *dev);
1079 int mlx5_cmd_destroy_vport_lag(struct mlx5_core_dev *dev);
1080 bool mlx5_lag_is_roce(struct mlx5_core_dev *dev);
1081 bool mlx5_lag_is_sriov(struct mlx5_core_dev *dev);
1082 bool mlx5_lag_is_multipath(struct mlx5_core_dev *dev);
1083 bool mlx5_lag_is_active(struct mlx5_core_dev *dev);
1084 struct net_device *mlx5_lag_get_roce_netdev(struct mlx5_core_dev *dev);
1085 int mlx5_lag_query_cong_counters(struct mlx5_core_dev *dev,
1089 struct mlx5_uars_page *mlx5_get_uars_page(struct mlx5_core_dev *mdev);
1090 void mlx5_put_uars_page(struct mlx5_core_dev *mdev, struct mlx5_uars_page *up);
1091 int mlx5_dm_sw_icm_alloc(struct mlx5_core_dev *dev, enum mlx5_sw_icm_type type,
1093 int mlx5_dm_sw_icm_dealloc(struct mlx5_core_dev *dev, enum mlx5_sw_icm_type type,
1097 struct net_device *mlx5_rdma_netdev_alloc(struct mlx5_core_dev *mdev,
1102 int mlx5_rdma_rn_get_params(struct mlx5_core_dev *mdev,
1119 static inline bool mlx5_core_is_pf(const struct mlx5_core_dev *dev) in mlx5_core_is_pf()
1124 static inline bool mlx5_core_is_ecpf(struct mlx5_core_dev *dev) in mlx5_core_is_ecpf()
1130 mlx5_core_is_ecpf_esw_manager(const struct mlx5_core_dev *dev) in mlx5_core_is_ecpf_esw_manager()
1135 static inline bool mlx5_ecpf_vport_exists(const struct mlx5_core_dev *dev) in mlx5_ecpf_vport_exists()
1140 static inline u16 mlx5_core_max_vfs(const struct mlx5_core_dev *dev) in mlx5_core_max_vfs()
1155 static inline bool mlx5_rl_is_supported(struct mlx5_core_dev *dev) in mlx5_rl_is_supported()
1160 static inline int mlx5_core_is_mp_slave(struct mlx5_core_dev *dev) in mlx5_core_is_mp_slave()
1166 static inline int mlx5_core_is_mp_master(struct mlx5_core_dev *dev) in mlx5_core_is_mp_master()
1171 static inline int mlx5_core_mp_enabled(struct mlx5_core_dev *dev) in mlx5_core_mp_enabled()
1177 static inline int mlx5_core_native_port_num(struct mlx5_core_dev *dev) in mlx5_core_native_port_num()