| /linux/drivers/vdpa/mlx5/core/ |
| 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, u32 tisn) in mlx5_vdpa_destroy_tis() argument [all …]
|
| H A D | mr.c | 63 static void fill_create_direct_mr(struct mlx5_vdpa_dev *mvdev, in fill_create_direct_mr() argument 70 MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); in fill_create_direct_mr() 76 MLX5_SET(mkc, mkc, pd, mvdev->res.pdn); in fill_create_direct_mr() 87 MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); in fill_create_direct_mr() 90 static void create_direct_mr_end(struct mlx5_vdpa_dev *mvdev, in create_direct_mr_end() argument 99 static void fill_destroy_direct_mr(struct mlx5_vdpa_dev *mvdev, in fill_destroy_direct_mr() argument 105 MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); in fill_destroy_direct_mr() 110 static void destroy_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr) in destroy_direct_mr() argument 115 mlx5_vdpa_destroy_mkey(mvdev, mr->mr); in destroy_direct_mr() 169 static void fill_indir(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mkey, void *in) in fill_indir() argument [all …]
|
| H A D | mlx5_vdpa.h | 72 struct mlx5_vdpa_dev *mvdev; member 135 int mlx5_vdpa_create_tis(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tisn); 136 void mlx5_vdpa_destroy_tis(struct mlx5_vdpa_dev *mvdev, u32 tisn); 137 int mlx5_vdpa_create_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 *rqtn); 138 int mlx5_vdpa_modify_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 rqtn); 139 void mlx5_vdpa_destroy_rqt(struct mlx5_vdpa_dev *mvdev, u32 rqtn); 140 int mlx5_vdpa_create_tir(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tirn); 141 void mlx5_vdpa_destroy_tir(struct mlx5_vdpa_dev *mvdev, u32 tirn); 142 int mlx5_vdpa_alloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 *tdn); 143 void mlx5_vdpa_dealloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 tdn); [all …]
|
| /linux/drivers/vdpa/mlx5/net/ |
| H A D | mlx5_vnet.c | 147 static bool is_index_valid(struct mlx5_vdpa_dev *mvdev, u16 idx) in is_index_valid() argument 149 if (!(mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_MQ))) { in is_index_valid() 150 if (!(mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_CTRL_VQ))) in is_index_valid() 156 return idx <= mvdev->max_idx; in is_index_valid() 170 mlx5_vdpa_info(mvdev, "%s\n", #_feature); \ 176 mlx5_vdpa_info(mvdev, "%s\n", #_status); \ 180 static inline bool mlx5_vdpa_is_little_endian(struct mlx5_vdpa_dev *mvdev) in mlx5_vdpa_is_little_endian() argument 183 (mvdev->actual_features & BIT_ULL(VIRTIO_F_VERSION_1)); in mlx5_vdpa_is_little_endian() 186 static u16 mlx5vdpa16_to_cpu(struct mlx5_vdpa_dev *mvdev, __virtio16 val) in mlx5vdpa16_to_cpu() argument 188 return __virtio16_to_cpu(mlx5_vdpa_is_little_endian(mvdev), val); in mlx5vdpa16_to_cpu() [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
|