/kernel/linux/linux-6.6/drivers/vdpa/mlx5/net/ |
H A D | mlx5_vnet.c | 128 static bool is_index_valid(struct mlx5_vdpa_dev *mvdev, u16 idx) in is_index_valid() argument 130 if (!(mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_MQ))) { in is_index_valid() 131 if (!(mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_CTRL_VQ))) in is_index_valid() 137 return idx <= mvdev->max_idx; in is_index_valid() 142 static int setup_driver(struct mlx5_vdpa_dev *mvdev); 150 mlx5_vdpa_info(mvdev, "%s\n", #_feature); \ 156 mlx5_vdpa_info(mvdev, "%s\n", #_status); \ 160 static inline bool mlx5_vdpa_is_little_endian(struct mlx5_vdpa_dev *mvdev) in mlx5_vdpa_is_little_endian() argument 163 (mvdev->actual_features & BIT_ULL(VIRTIO_F_VERSION_1)); in mlx5_vdpa_is_little_endian() 166 static u16 mlx5vdpa16_to_cpu(struct mlx5_vdpa_dev *mvdev, __virtio1 argument 171 cpu_to_mlx5vdpa16(struct mlx5_vdpa_dev *mvdev, u16 val) cpu_to_mlx5vdpa16() argument 176 ctrl_vq_idx(struct mlx5_vdpa_dev *mvdev) ctrl_vq_idx() argument 184 is_ctrl_vq_idx(struct mlx5_vdpa_dev *mvdev, u16 idx) is_ctrl_vq_idx() argument 189 print_status(struct mlx5_vdpa_dev *mvdev, u8 status, bool set) print_status() argument 212 print_features(struct mlx5_vdpa_dev *mvdev, u64 features, bool set) print_features() argument 263 struct mlx5_vdpa_dev *mvdev = &ndev->mvdev; create_tis() local 845 counters_supported(const struct mlx5_vdpa_dev *mvdev) counters_supported() argument 851 msix_mode_supported(struct mlx5_vdpa_dev *mvdev) msix_mode_supported() argument 1796 handle_ctrl_mac(struct mlx5_vdpa_dev *mvdev, u8 cmd) handle_ctrl_mac() argument 1885 change_num_qps(struct mlx5_vdpa_dev *mvdev, int newqps) change_num_qps() argument 1923 handle_ctrl_mq(struct mlx5_vdpa_dev *mvdev, u8 cmd) handle_ctrl_mq() argument 1971 handle_ctrl_vlan(struct mlx5_vdpa_dev *mvdev, u8 cmd) handle_ctrl_vlan() argument 2016 struct mlx5_vdpa_dev *mvdev; mlx5_cvq_kick_handler() local 2085 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_kick_vq() local 2110 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_address() local 2133 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_num() local 2153 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_cb() local 2171 set_cvq_ready(struct mlx5_vdpa_dev *mvdev, bool ready) set_cvq_ready() argument 2184 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_ready() local 2217 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_vq_ready() local 2232 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_state() local 2257 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_vq_state() local 2301 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_vq_group() local 2358 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_device_features() local 2365 verify_driver_features(struct mlx5_vdpa_dev *mvdev, u64 features) verify_driver_features() argument 2387 setup_virtqueues(struct mlx5_vdpa_dev *mvdev) setup_virtqueues() argument 2422 update_cvq_info(struct mlx5_vdpa_dev *mvdev) update_cvq_info() argument 2459 get_link_state(struct mlx5_vdpa_dev *mvdev) get_link_state() argument 2471 struct mlx5_vdpa_dev *mvdev; update_carrier() local 2549 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_driver_features() local 2581 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_config_cb() local 2605 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_status() local 2680 mlx5_vdpa_change_map(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, unsigned int asid) mlx5_vdpa_change_map() argument 2714 setup_driver(struct mlx5_vdpa_dev *mvdev) setup_driver() argument 2798 setup_cvq_vring(struct mlx5_vdpa_dev *mvdev) setup_cvq_vring() argument 2820 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_status() local 2860 init_group_to_asid_map(struct mlx5_vdpa_dev *mvdev) init_group_to_asid_map() argument 2871 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_reset() local 2909 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_config() local 2924 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_generation() local 2929 set_map_data(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, unsigned int asid) set_map_data() argument 2950 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_map() local 2962 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_get_vq_dma_dev() local 2991 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_free() local 3011 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_get_vq_notification() local 3035 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_get_vq_irq() local 3054 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_driver_features() local 3095 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_vendor_vq_stats() local 3146 mlx5_vdpa_cvq_suspend(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_cvq_suspend() argument 3159 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_suspend() local 3181 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_set_group_asid() local 3360 struct mlx5_vdpa_dev *mvdev; mlx5_vdpa_dev_add() local 3542 struct mlx5_vdpa_dev *mvdev = to_mvdev(dev); mlx5_vdpa_dev_del() local [all...] |
H A D | debug.c | 102 node->ucast_counter.mdev = ndev->mvdev.mdev; in mlx5_vdpa_add_rx_counters() 103 node->mcast_counter.mdev = ndev->mvdev.mdev; in mlx5_vdpa_add_rx_counters() 142 mdev = ndev->mvdev.mdev; in mlx5_vdpa_add_debugfs() 143 ndev->debugfs = debugfs_create_dir(dev_name(&ndev->mvdev.vdev.dev), in mlx5_vdpa_add_debugfs()
|
H A D | mlx5_vnet.h | 10 container_of(__mvdev, struct mlx5_vdpa_net, mvdev) 44 struct mlx5_vdpa_dev mvdev; member
|
/kernel/linux/linux-6.6/drivers/vdpa/mlx5/core/ |
H A D | mr.c | 52 static int create_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) in create_direct_mr() argument 64 MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); in create_direct_mr() 70 MLX5_SET(mkc, mkc, pd, mvdev->res.pdn); in create_direct_mr() 79 err = mlx5_vdpa_create_mkey(mvdev, &mr->mr, in, inlen); in create_direct_mr() 82 mlx5_vdpa_warn(mvdev, "Failed to create direct MR\n"); in create_direct_mr() 89 static void destroy_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) in destroy_direct_mr() argument 91 mlx5_vdpa_destroy_mkey(mvdev, mr->mr); in destroy_direct_mr() 145 static void fill_indir(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mkey, void *in) in fill_indir() argument 169 klm->key = cpu_to_be32(mvdev->res.null_mkey); in fill_indir() 182 static int create_indirect_key(struct mlx5_vdpa_dev *mvdev, struc argument 218 destroy_indirect_key(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mkey) destroy_indirect_key() argument 223 map_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr, struct vhost_iotlb *iotlb) map_direct_mr() argument 295 unmap_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) unmap_direct_mr() argument 304 add_direct_chain(struct mlx5_vdpa_dev *mvdev, u64 start, u64 size, u8 perm, struct vhost_iotlb *iotlb) add_direct_chain() argument 357 create_user_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb) create_user_mr() argument 420 create_dma_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mr) create_dma_mr() argument 448 destroy_dma_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mr) destroy_dma_mr() argument 453 dup_iotlb(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *src) dup_iotlb() argument 474 prune_iotlb(struct mlx5_vdpa_dev *mvdev) prune_iotlb() argument 479 destroy_user_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mr) destroy_user_mr() argument 492 _mlx5_vdpa_destroy_cvq_mr(struct mlx5_vdpa_dev *mvdev, unsigned int asid) _mlx5_vdpa_destroy_cvq_mr() argument 500 _mlx5_vdpa_destroy_dvq_mr(struct mlx5_vdpa_dev *mvdev, unsigned int asid) _mlx5_vdpa_destroy_dvq_mr() argument 518 mlx5_vdpa_destroy_mr_asid(struct mlx5_vdpa_dev *mvdev, unsigned int asid) mlx5_vdpa_destroy_mr_asid() argument 530 mlx5_vdpa_destroy_mr(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_destroy_mr() argument 536 _mlx5_vdpa_create_cvq_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, unsigned int asid) _mlx5_vdpa_create_cvq_mr() argument 546 _mlx5_vdpa_create_dvq_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, unsigned int asid) _mlx5_vdpa_create_dvq_mr() argument 572 _mlx5_vdpa_create_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, unsigned int asid) _mlx5_vdpa_create_mr() argument 593 mlx5_vdpa_create_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, unsigned int asid) mlx5_vdpa_create_mr() argument 604 mlx5_vdpa_handle_set_map(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, bool *change_map, unsigned int asid) mlx5_vdpa_handle_set_map() argument [all...] |
H A D | resources.c | 51 static int create_uctx(struct mlx5_vdpa_dev *mvdev, u16 *uid) in create_uctx() argument 58 if (MLX5_CAP_GEN(mvdev->mdev, umem_uid_0)) in create_uctx() 62 if (!MLX5_CAP_GEN(mvdev->mdev, log_max_uctx)) in create_uctx() 73 err = mlx5_cmd_exec(mvdev->mdev, in, inlen, out, sizeof(out)); in create_uctx() 81 static void destroy_uctx(struct mlx5_vdpa_dev *mvdev, u32 uid) in destroy_uctx() argument 92 mlx5_cmd_exec(mvdev->mdev, in, sizeof(in), out, sizeof(out)); in destroy_uctx() 95 int mlx5_vdpa_create_tis(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tisn) in mlx5_vdpa_create_tis() argument 101 MLX5_SET(create_tis_in, in, uid, mvdev->res.uid); in mlx5_vdpa_create_tis() 102 err = mlx5_cmd_exec_inout(mvdev->mdev, create_tis, in, out); in mlx5_vdpa_create_tis() 109 void mlx5_vdpa_destroy_tis(struct mlx5_vdpa_dev *mvdev, u3 argument 119 mlx5_vdpa_create_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 *rqtn) mlx5_vdpa_create_rqt() argument 132 mlx5_vdpa_modify_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 rqtn) mlx5_vdpa_modify_rqt() argument 142 mlx5_vdpa_destroy_rqt(struct mlx5_vdpa_dev *mvdev, u32 rqtn) mlx5_vdpa_destroy_rqt() argument 152 mlx5_vdpa_create_tir(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tirn) mlx5_vdpa_create_tir() argument 165 mlx5_vdpa_destroy_tir(struct mlx5_vdpa_dev *mvdev, u32 tirn) mlx5_vdpa_destroy_tir() argument 175 mlx5_vdpa_alloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 *tdn) mlx5_vdpa_alloc_transport_domain() argument 191 mlx5_vdpa_dealloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 tdn) mlx5_vdpa_dealloc_transport_domain() argument 201 mlx5_vdpa_create_mkey(struct mlx5_vdpa_dev *mvdev, u32 *mkey, u32 *in, int inlen) mlx5_vdpa_create_mkey() argument 220 mlx5_vdpa_destroy_mkey(struct mlx5_vdpa_dev *mvdev, u32 mkey) mlx5_vdpa_destroy_mkey() argument 230 init_ctrl_vq(struct mlx5_vdpa_dev *mvdev) init_ctrl_vq() argument 242 cleanup_ctrl_vq(struct mlx5_vdpa_dev *mvdev) cleanup_ctrl_vq() argument 247 mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_alloc_resources() argument 308 mlx5_vdpa_free_resources(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_free_resources() argument [all...] |
H A D | mlx5_vdpa.h | 71 struct mlx5_vdpa_dev *mvdev; member 103 int mlx5_vdpa_create_tis(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tisn); 104 void mlx5_vdpa_destroy_tis(struct mlx5_vdpa_dev *mvdev, u32 tisn); 105 int mlx5_vdpa_create_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 *rqtn); 106 int mlx5_vdpa_modify_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 rqtn); 107 void mlx5_vdpa_destroy_rqt(struct mlx5_vdpa_dev *mvdev, u32 rqtn); 108 int mlx5_vdpa_create_tir(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tirn); 109 void mlx5_vdpa_destroy_tir(struct mlx5_vdpa_dev *mvdev, u32 tirn); 110 int mlx5_vdpa_alloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 *tdn); 111 void mlx5_vdpa_dealloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u3 [all...] |
/kernel/linux/linux-5.10/drivers/vdpa/mlx5/core/ |
H A D | resources.c | 50 static int create_uctx(struct mlx5_vdpa_dev *mvdev, u16 *uid) in create_uctx() argument 58 if (!MLX5_CAP_GEN(mvdev->mdev, log_max_uctx)) in create_uctx() 69 err = mlx5_cmd_exec(mvdev->mdev, in, inlen, out, sizeof(out)); in create_uctx() 77 static void destroy_uctx(struct mlx5_vdpa_dev *mvdev, u32 uid) in destroy_uctx() argument 85 mlx5_cmd_exec(mvdev->mdev, in, sizeof(in), out, sizeof(out)); in destroy_uctx() 88 int mlx5_vdpa_create_tis(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tisn) in mlx5_vdpa_create_tis() argument 94 MLX5_SET(create_tis_in, in, uid, mvdev->res.uid); in mlx5_vdpa_create_tis() 95 err = mlx5_cmd_exec_inout(mvdev->mdev, create_tis, in, out); in mlx5_vdpa_create_tis() 102 void mlx5_vdpa_destroy_tis(struct mlx5_vdpa_dev *mvdev, u32 tisn) in mlx5_vdpa_destroy_tis() argument 107 MLX5_SET(destroy_tis_in, in, uid, mvdev in mlx5_vdpa_destroy_tis() 112 mlx5_vdpa_create_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 *rqtn) mlx5_vdpa_create_rqt() argument 125 mlx5_vdpa_destroy_rqt(struct mlx5_vdpa_dev *mvdev, u32 rqtn) mlx5_vdpa_destroy_rqt() argument 135 mlx5_vdpa_create_tir(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tirn) mlx5_vdpa_create_tir() argument 148 mlx5_vdpa_destroy_tir(struct mlx5_vdpa_dev *mvdev, u32 tirn) mlx5_vdpa_destroy_tir() argument 158 mlx5_vdpa_alloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 *tdn) mlx5_vdpa_alloc_transport_domain() argument 174 mlx5_vdpa_dealloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 tdn) mlx5_vdpa_dealloc_transport_domain() argument 184 mlx5_vdpa_create_mkey(struct mlx5_vdpa_dev *mvdev, struct mlx5_core_mkey *mkey, u32 *in, int inlen) mlx5_vdpa_create_mkey() argument 208 mlx5_vdpa_destroy_mkey(struct mlx5_vdpa_dev *mvdev, struct mlx5_core_mkey *mkey) mlx5_vdpa_destroy_mkey() argument 218 mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_alloc_resources() argument 270 mlx5_vdpa_free_resources(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_free_resources() argument [all...] |
H A D | mlx5_vdpa.h | 66 int mlx5_vdpa_create_tis(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tisn); 67 void mlx5_vdpa_destroy_tis(struct mlx5_vdpa_dev *mvdev, u32 tisn); 68 int mlx5_vdpa_create_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 *rqtn); 69 void mlx5_vdpa_destroy_rqt(struct mlx5_vdpa_dev *mvdev, u32 rqtn); 70 int mlx5_vdpa_create_tir(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tirn); 71 void mlx5_vdpa_destroy_tir(struct mlx5_vdpa_dev *mvdev, u32 tirn); 72 int mlx5_vdpa_alloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 *tdn); 73 void mlx5_vdpa_dealloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 tdn); 74 int mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev); 75 void mlx5_vdpa_free_resources(struct mlx5_vdpa_dev *mvdev); [all...] |
H A D | mr.c | 51 static int create_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) in create_direct_mr() argument 63 MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); in create_direct_mr() 69 MLX5_SET(mkc, mkc, pd, mvdev->res.pdn); in create_direct_mr() 78 err = mlx5_vdpa_create_mkey(mvdev, &mr->mr, in, inlen); in create_direct_mr() 81 mlx5_vdpa_warn(mvdev, "Failed to create direct MR\n"); in create_direct_mr() 88 static void destroy_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) in destroy_direct_mr() argument 90 mlx5_vdpa_destroy_mkey(mvdev, &mr->mr); in destroy_direct_mr() 144 static void fill_indir(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mkey, void *in) in fill_indir() argument 168 klm->key = cpu_to_be32(mvdev->res.null_mkey); in fill_indir() 181 static int create_indirect_key(struct mlx5_vdpa_dev *mvdev, struc argument 217 destroy_indirect_key(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mkey) destroy_indirect_key() argument 222 map_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr, struct vhost_iotlb *iotlb) map_direct_mr() argument 294 unmap_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) unmap_direct_mr() argument 303 add_direct_chain(struct mlx5_vdpa_dev *mvdev, u64 start, u64 size, u8 perm, struct vhost_iotlb *iotlb) add_direct_chain() argument 358 _mlx5_vdpa_create_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb) _mlx5_vdpa_create_mr() argument 424 mlx5_vdpa_create_mr(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb) mlx5_vdpa_create_mr() argument 435 mlx5_vdpa_destroy_mr(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_destroy_mr() argument 456 mlx5_vdpa_handle_set_map(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, bool *change_map) mlx5_vdpa_handle_set_map() argument [all...] |
/kernel/linux/linux-6.6/drivers/vfio/pci/mlx5/ |
H A D | main.c | 392 struct mlx5vf_pci_core_device *mvdev = migf->mvdev; in mlx5vf_precopy_ioctl() local 412 mutex_lock(&mvdev->state_mutex); in mlx5vf_precopy_ioctl() 413 if (mvdev->mig_state != VFIO_DEVICE_STATE_PRE_COPY && in mlx5vf_precopy_ioctl() 414 mvdev->mig_state != VFIO_DEVICE_STATE_PRE_COPY_P2P) { in mlx5vf_precopy_ioctl() 424 if (mvdev->mig_state == VFIO_DEVICE_STATE_PRE_COPY) { in mlx5vf_precopy_ioctl() 430 ret = mlx5vf_cmd_query_vhca_migration_state(mvdev, &inc_length, in mlx5vf_precopy_ioctl() 468 ret = mlx5vf_cmd_save_vhca_state(mvdev, migf, buf, true, true); in mlx5vf_precopy_ioctl() 476 mlx5vf_state_mutex_unlock(mvdev); in mlx5vf_precopy_ioctl() 484 mlx5vf_state_mutex_unlock(mvdev); in mlx5vf_precopy_ioctl() 498 mlx5vf_pci_save_device_inc_data(struct mlx5vf_pci_core_device *mvdev) mlx5vf_pci_save_device_inc_data() argument 539 mlx5vf_pci_save_device_data(struct mlx5vf_pci_core_device *mvdev, bool track) mlx5vf_pci_save_device_data() argument 949 mlx5vf_pci_resume_device_data(struct mlx5vf_pci_core_device *mvdev) mlx5vf_pci_resume_device_data() argument 1010 mlx5vf_disable_fds(struct mlx5vf_pci_core_device *mvdev) mlx5vf_disable_fds() argument 1029 mlx5vf_pci_step_device_state_locked(struct mlx5vf_pci_core_device *mvdev, u32 new) mlx5vf_pci_step_device_state_locked() argument 1144 mlx5vf_state_mutex_unlock(struct mlx5vf_pci_core_device *mvdev) mlx5vf_state_mutex_unlock() argument 1163 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_pci_set_device_state() local 1194 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_pci_get_data_size() local 1211 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_pci_get_device_state() local 1222 struct mlx5vf_pci_core_device *mvdev = mlx5vf_drvdata(pdev); mlx5vf_pci_aer_reset_done() local 1246 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_pci_open_device() local 1263 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_pci_close_device() local 1284 struct mlx5vf_pci_core_device *mvdev = container_of(core_vdev, mlx5vf_pci_init_dev() local 1300 struct mlx5vf_pci_core_device *mvdev = container_of(core_vdev, mlx5vf_pci_release_dev() local 1329 struct mlx5vf_pci_core_device *mvdev; mlx5vf_pci_probe() local 1350 struct mlx5vf_pci_core_device *mvdev = mlx5vf_drvdata(pdev); mlx5vf_pci_remove() local [all...] |
H A D | cmd.c | 36 _mlx5vf_free_page_tracker_resources(struct mlx5vf_pci_core_device *mvdev); 38 int mlx5vf_cmd_suspend_vhca(struct mlx5vf_pci_core_device *mvdev, u16 op_mod) in mlx5vf_cmd_suspend_vhca() argument 40 struct mlx5_vf_migration_file *migf = mvdev->saving_migf; in mlx5vf_cmd_suspend_vhca() 45 lockdep_assert_held(&mvdev->state_mutex); in mlx5vf_cmd_suspend_vhca() 46 if (mvdev->mdev_detach) in mlx5vf_cmd_suspend_vhca() 62 MLX5_SET(suspend_vhca_in, in, vhca_id, mvdev->vhca_id); in mlx5vf_cmd_suspend_vhca() 65 err = mlx5_cmd_exec_inout(mvdev->mdev, suspend_vhca, in, out); in mlx5vf_cmd_suspend_vhca() 72 int mlx5vf_cmd_resume_vhca(struct mlx5vf_pci_core_device *mvdev, u16 op_mod) in mlx5vf_cmd_resume_vhca() argument 77 lockdep_assert_held(&mvdev->state_mutex); in mlx5vf_cmd_resume_vhca() 78 if (mvdev in mlx5vf_cmd_resume_vhca() 88 mlx5vf_cmd_query_vhca_migration_state(struct mlx5vf_pci_core_device *mvdev, size_t *state_size, u8 query_flags) mlx5vf_cmd_query_vhca_migration_state() argument 145 set_tracker_error(struct mlx5vf_pci_core_device *mvdev) set_tracker_error() argument 155 struct mlx5vf_pci_core_device *mvdev = mlx5fv_vf_event() local 177 mlx5vf_cmd_close_migratable(struct mlx5vf_pci_core_device *mvdev) mlx5vf_cmd_close_migratable() argument 190 mlx5vf_cmd_remove_migratable(struct mlx5vf_pci_core_device *mvdev) mlx5vf_cmd_remove_migratable() argument 200 mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_device *mvdev, const struct vfio_migration_ops *mig_ops, const struct vfio_log_ops *log_ops) mlx5vf_cmd_set_migratable() argument 347 struct mlx5vf_pci_core_device *mvdev = buf->migf->mvdev; mlx5vf_dma_data_buffer() local 576 mlx5vf_cmd_save_vhca_state(struct mlx5vf_pci_core_device *mvdev, struct mlx5_vf_migration_file *migf, struct mlx5_vhca_data_buffer *buf, bool inc, bool track) mlx5vf_cmd_save_vhca_state() argument 659 mlx5vf_cmd_load_vhca_state(struct mlx5vf_pci_core_device *mvdev, struct mlx5_vf_migration_file *migf, struct mlx5_vhca_data_buffer *buf) mlx5vf_cmd_load_vhca_state() argument 735 mlx5vf_create_tracker(struct mlx5_core_dev *mdev, struct mlx5vf_pci_core_device *mvdev, struct rb_root_cached *ranges, u32 nnodes) mlx5vf_create_tracker() argument 909 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_event_notifier() local 939 struct mlx5vf_pci_core_device *mvdev = mlx5vf_cq_complete() local 1321 _mlx5vf_free_page_tracker_resources(struct mlx5vf_pci_core_device *mvdev) _mlx5vf_free_page_tracker_resources() argument 1346 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_stop_page_tracker() local 1364 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_start_page_tracker() local 1570 struct mlx5vf_pci_core_device *mvdev = container_of( mlx5vf_tracker_read_and_clear() local [all...] |
H A D | cmd.h | 16 #define MLX5VF_PRE_COPY_SUPP(mvdev) \ 17 ((mvdev)->core_device.vdev.migration_flags & VFIO_MIGRATION_PRE_COPY) 102 struct mlx5vf_pci_core_device *mvdev; member 186 int mlx5vf_cmd_suspend_vhca(struct mlx5vf_pci_core_device *mvdev, u16 op_mod); 187 int mlx5vf_cmd_resume_vhca(struct mlx5vf_pci_core_device *mvdev, u16 op_mod); 188 int mlx5vf_cmd_query_vhca_migration_state(struct mlx5vf_pci_core_device *mvdev, 190 void mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_device *mvdev, 193 void mlx5vf_cmd_remove_migratable(struct mlx5vf_pci_core_device *mvdev); 194 void mlx5vf_cmd_close_migratable(struct mlx5vf_pci_core_device *mvdev); 195 int mlx5vf_cmd_save_vhca_state(struct mlx5vf_pci_core_device *mvdev, [all...] |
/kernel/linux/linux-5.10/drivers/vdpa/mlx5/net/ |
H A D | mlx5_vnet.c | 129 struct mlx5_vdpa_dev mvdev; member 156 mlx5_vdpa_info(mvdev, "%s\n", #_feature); \ 162 mlx5_vdpa_info(mvdev, "%s\n", #_status); \ 165 static void print_status(struct mlx5_vdpa_dev *mvdev, u8 status, bool set) in print_status() argument 168 mlx5_vdpa_warn(mvdev, "Warning: there are invalid status bits 0x%x\n", in print_status() 174 mlx5_vdpa_info(mvdev, "driver status %s", set ? "set" : "get"); in print_status() 176 mlx5_vdpa_info(mvdev, "driver resets the device\n"); in print_status() 188 static void print_features(struct mlx5_vdpa_dev *mvdev, u64 features, bool set) in print_features() argument 191 mlx5_vdpa_warn(mvdev, "There are invalid feature bits 0x%llx\n", in print_features() 197 mlx5_vdpa_info(mvdev, "drive in print_features() 239 struct mlx5_vdpa_dev *mvdev = &ndev->mvdev; create_tis() local 1333 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_kick_vq() local 1346 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_address() local 1358 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_num() local 1368 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_cb() local 1377 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_ready() local 1389 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_vq_ready() local 1399 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_vq_state() local 1415 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_vq_state() local 1472 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_features() local 1485 verify_driver_features(struct mlx5_vdpa_dev *mvdev, u64 features) verify_driver_features() argument 1542 mlx5_vdpa_is_little_endian(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_is_little_endian() argument 1548 cpu_to_mlx5vdpa16(struct mlx5_vdpa_dev *mvdev, u16 val) cpu_to_mlx5vdpa16() argument 1555 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_features() local 1595 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_status() local 1776 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_status() local 1816 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_config() local 1831 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_get_generation() local 1838 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_set_map() local 1857 struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); mlx5_vdpa_free() local 1987 struct mlx5_vdpa_dev *mvdev; mlx5_vdpa_add_dev() local 2050 mlx5_vdpa_remove_dev(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_remove_dev() argument [all...] |
H A D | mlx5_vnet.h | 20 #define to_mlx5_vdpa_ndev(__mvdev) container_of(__mvdev, struct mlx5_vdpa_net, mvdev) 22 void mlx5_vdpa_remove_dev(struct mlx5_vdpa_dev *mvdev);
|