search for: mlx5_addr_of

Displaying 4 results from an estimated 4 matches for "mlx5_addr_of".

2020 Jul 16
0
[PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices
...ER_PLATFORM); > + MLX5_LOG_VIO_FLAG(VIRTIO_F_SR_IOV); > +} > + > +static int create_tis(struct mlx5_vdpa_net *ndev) > +{ > + struct mlx5_vdpa_dev *mvdev = &ndev->mvdev; > + u32 in[MLX5_ST_SZ_DW(create_tis_in)] = {}; > + void *tisc; > + int err; > + > + tisc = MLX5_ADDR_OF(create_tis_in, in, ctx); > + MLX5_SET(tisc, tisc, transport_domain, ndev->res.tdn); > + err = mlx5_vdpa_create_tis(mvdev, in, &ndev->res.tisn); > + if (err) > + mlx5_vdpa_warn(mvdev, "create TIS (%d)\n", err); > + > + return err; > +} > + > +static vo...
2023 Mar 21
0
[PATCH v3 1/2] vdpa/mlx5: Extend driver support for new features
...; > void *cmd_hdr; > void *vq_ctx; > void *in; > @@ -812,6 +829,7 @@ static int create_virtqueue(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtque > goto err_alloc; > } > > + mlx_features = get_features(ndev->mvdev.actual_features); > cmd_hdr = MLX5_ADDR_OF(create_virtio_net_q_in, in, general_obj_in_cmd_hdr); > > MLX5_SET(general_obj_in_cmd_hdr, cmd_hdr, opcode, MLX5_CMD_OP_CREATE_GENERAL_OBJECT); > @@ -822,7 +840,9 @@ static int create_virtqueue(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtque > MLX5_SET(virtio_net_q_object,...
2023 Mar 17
0
[PATCH v2 1/2] vdpa/mlx5: Extend driver support for new features
...void *vq_ctx; > void *in; > @@ -812,6 +833,7 @@ static int create_virtqueue(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtque > goto err_alloc; > } > > + mlx_features = get_features(ndev->mvdev.actual_features); > cmd_hdr = MLX5_ADDR_OF(create_virtio_net_q_in, in, general_obj_in_cmd_hdr); > > MLX5_SET(general_obj_in_cmd_hdr, cmd_hdr, opcode, MLX5_CMD_OP_CREATE_GENERAL_OBJECT); > @@ -822,7 +844,9 @@ static int create_virtqueue(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtque > MLX5_SET(virtio_net_q_o...
2023 Aug 31
2
[PATCH v2] vdpa/mlx5: Fix firmware error on creation of 1k VQs
...opcode, MLX5_CMD_OP_QUERY_HCA_CAP); + MLX5_SET(query_hca_cap_in, in, op_mod, opmod); + err = mlx5_cmd_exec_inout(mdev, query_hca_cap, in, out); + if (err) { + mlx5_vdpa_warn(&ndev->mvdev, + "Failed reading vdpa umem capabilities with err %d\n", err); + goto out; + } + + caps = MLX5_ADDR_OF(query_hca_cap_out, out, capability); + + ndev->umem_1_buffer_param_a = MLX5_GET(virtio_emulation_cap, caps, umem_1_buffer_param_a); + ndev->umem_1_buffer_param_b = MLX5_GET(virtio_emulation_cap, caps, umem_1_buffer_param_b); + + ndev->umem_2_buffer_param_a = MLX5_GET(virtio_emulation_cap,...