@@ -941,23 +941,23 @@ static int create_virtqueue(struct mlx5_vdpa_net *ndev,
941941 MLX5_SET64 (virtio_q , vq_ctx , used_addr , mvq -> device_addr );
942942 MLX5_SET64 (virtio_q , vq_ctx , available_addr , mvq -> driver_addr );
943943
944- vq_mr = mvdev -> mr [mvdev -> group2asid [MLX5_VDPA_DATAVQ_GROUP ]];
944+ vq_mr = mvdev -> mres . mr [mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_GROUP ]];
945945 if (vq_mr )
946946 MLX5_SET (virtio_q , vq_ctx , virtio_q_mkey , vq_mr -> mkey );
947947
948- vq_desc_mr = mvdev -> mr [mvdev -> group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ]];
948+ vq_desc_mr = mvdev -> mres . mr [mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ]];
949949 if (vq_desc_mr &&
950950 MLX5_CAP_DEV_VDPA_EMULATION (mvdev -> mdev , desc_group_mkey_supported ))
951951 MLX5_SET (virtio_q , vq_ctx , desc_group_mkey , vq_desc_mr -> mkey );
952952 } else {
953953 /* If there is no mr update, make sure that the existing ones are set
954954 * modify to ready.
955955 */
956- vq_mr = mvdev -> mr [mvdev -> group2asid [MLX5_VDPA_DATAVQ_GROUP ]];
956+ vq_mr = mvdev -> mres . mr [mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_GROUP ]];
957957 if (vq_mr )
958958 mvq -> modified_fields |= MLX5_VIRTQ_MODIFY_MASK_VIRTIO_Q_MKEY ;
959959
960- vq_desc_mr = mvdev -> mr [mvdev -> group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ]];
960+ vq_desc_mr = mvdev -> mres . mr [mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ]];
961961 if (vq_desc_mr )
962962 mvq -> modified_fields |= MLX5_VIRTQ_MODIFY_MASK_DESC_GROUP_MKEY ;
963963 }
@@ -1354,7 +1354,7 @@ static void fill_modify_virtqueue_cmd(struct mlx5_vdpa_net *ndev,
13541354 }
13551355
13561356 if (mvq -> modified_fields & MLX5_VIRTQ_MODIFY_MASK_VIRTIO_Q_MKEY ) {
1357- vq_mr = mvdev -> mr [mvdev -> group2asid [MLX5_VDPA_DATAVQ_GROUP ]];
1357+ vq_mr = mvdev -> mres . mr [mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_GROUP ]];
13581358
13591359 if (vq_mr )
13601360 MLX5_SET (virtio_q , vq_ctx , virtio_q_mkey , vq_mr -> mkey );
@@ -1363,7 +1363,7 @@ static void fill_modify_virtqueue_cmd(struct mlx5_vdpa_net *ndev,
13631363 }
13641364
13651365 if (mvq -> modified_fields & MLX5_VIRTQ_MODIFY_MASK_DESC_GROUP_MKEY ) {
1366- desc_mr = mvdev -> mr [mvdev -> group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ]];
1366+ desc_mr = mvdev -> mres . mr [mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ]];
13671367
13681368 if (desc_mr && MLX5_CAP_DEV_VDPA_EMULATION (mvdev -> mdev , desc_group_mkey_supported ))
13691369 MLX5_SET (virtio_q , vq_ctx , desc_group_mkey , desc_mr -> mkey );
@@ -1381,17 +1381,17 @@ static void modify_virtqueue_end(struct mlx5_vdpa_net *ndev,
13811381 struct mlx5_vdpa_dev * mvdev = & ndev -> mvdev ;
13821382
13831383 if (mvq -> modified_fields & MLX5_VIRTQ_MODIFY_MASK_VIRTIO_Q_MKEY ) {
1384- unsigned int asid = mvdev -> group2asid [MLX5_VDPA_DATAVQ_GROUP ];
1385- struct mlx5_vdpa_mr * vq_mr = mvdev -> mr [asid ];
1384+ unsigned int asid = mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_GROUP ];
1385+ struct mlx5_vdpa_mr * vq_mr = mvdev -> mres . mr [asid ];
13861386
13871387 mlx5_vdpa_put_mr (mvdev , mvq -> vq_mr );
13881388 mlx5_vdpa_get_mr (mvdev , vq_mr );
13891389 mvq -> vq_mr = vq_mr ;
13901390 }
13911391
13921392 if (mvq -> modified_fields & MLX5_VIRTQ_MODIFY_MASK_DESC_GROUP_MKEY ) {
1393- unsigned int asid = mvdev -> group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ];
1394- struct mlx5_vdpa_mr * desc_mr = mvdev -> mr [asid ];
1393+ unsigned int asid = mvdev -> mres . group2asid [MLX5_VDPA_DATAVQ_DESC_GROUP ];
1394+ struct mlx5_vdpa_mr * desc_mr = mvdev -> mres . mr [asid ];
13951395
13961396 mlx5_vdpa_put_mr (mvdev , mvq -> desc_mr );
13971397 mlx5_vdpa_get_mr (mvdev , desc_mr );
@@ -3235,7 +3235,7 @@ static void init_group_to_asid_map(struct mlx5_vdpa_dev *mvdev)
32353235
32363236 /* default mapping all groups are mapped to asid 0 */
32373237 for (i = 0 ; i < MLX5_VDPA_NUMVQ_GROUPS ; i ++ )
3238- mvdev -> group2asid [i ] = 0 ;
3238+ mvdev -> mres . group2asid [i ] = 0 ;
32393239}
32403240
32413241static bool needs_vqs_reset (const struct mlx5_vdpa_dev * mvdev )
@@ -3353,7 +3353,7 @@ static int set_map_data(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb,
33533353 new_mr = NULL ;
33543354 }
33553355
3356- if (!mvdev -> mr [asid ]) {
3356+ if (!mvdev -> mres . mr [asid ]) {
33573357 mlx5_vdpa_update_mr (mvdev , new_mr , asid );
33583358 } else {
33593359 err = mlx5_vdpa_change_map (mvdev , new_mr , asid );
@@ -3637,12 +3637,12 @@ static int mlx5_set_group_asid(struct vdpa_device *vdev, u32 group,
36373637 if (group >= MLX5_VDPA_NUMVQ_GROUPS )
36383638 return - EINVAL ;
36393639
3640- mvdev -> group2asid [group ] = asid ;
3640+ mvdev -> mres . group2asid [group ] = asid ;
36413641
3642- mutex_lock (& mvdev -> mr_mtx );
3643- if (group == MLX5_VDPA_CVQ_GROUP && mvdev -> mr [asid ])
3644- err = mlx5_vdpa_update_cvq_iotlb (mvdev , mvdev -> mr [asid ]-> iotlb , asid );
3645- mutex_unlock (& mvdev -> mr_mtx );
3642+ mutex_lock (& mvdev -> mres . mr_mtx );
3643+ if (group == MLX5_VDPA_CVQ_GROUP && mvdev -> mres . mr [asid ])
3644+ err = mlx5_vdpa_update_cvq_iotlb (mvdev , mvdev -> mres . mr [asid ]-> iotlb , asid );
3645+ mutex_unlock (& mvdev -> mres . mr_mtx );
36463646
36473647 return err ;
36483648}
@@ -3962,7 +3962,7 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name,
39623962 if (err )
39633963 goto err_mpfs ;
39643964
3965- INIT_LIST_HEAD (& mvdev -> mr_list_head );
3965+ INIT_LIST_HEAD (& mvdev -> mres . mr_list_head );
39663966
39673967 if (MLX5_CAP_GEN (mvdev -> mdev , umem_uid_0 )) {
39683968 err = mlx5_vdpa_create_dma_mr (mvdev );
0 commit comments