[1/2] common/mlx5: add virtio queue protection domain
Checks
Commit Message
Starting from FW version 22.27.4002, it is required to configure
protection domain (PD) for each virtq created by DevX.
Add PD requirement in virtq DevX APIs.
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
---
drivers/common/mlx5/mlx5_devx_cmds.c | 1 +
drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
drivers/common/mlx5/mlx5_prm.h | 4 +++-
3 files changed, 5 insertions(+), 1 deletion(-)
Comments
On 6/2/20 5:51 PM, Matan Azrad wrote:
> Starting from FW version 22.27.4002, it is required to configure
> protection domain (PD) for each virtq created by DevX.
>
> Add PD requirement in virtq DevX APIs.
>
> Cc: stable@dpdk.org
>
> Signed-off-by: Matan Azrad <matan@mellanox.com>
> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
> ---
> drivers/common/mlx5/mlx5_devx_cmds.c | 1 +
> drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
> drivers/common/mlx5/mlx5_prm.h | 4 +++-
> 3 files changed, 5 insertions(+), 1 deletion(-)
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
On 6/2/20 5:51 PM, Matan Azrad wrote:
> Starting from FW version 22.27.4002, it is required to configure
> protection domain (PD) for each virtq created by DevX.
>
> Add PD requirement in virtq DevX APIs.
>
> Cc: stable@dpdk.org
>
> Signed-off-by: Matan Azrad <matan@mellanox.com>
> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
> ---
> drivers/common/mlx5/mlx5_devx_cmds.c | 1 +
> drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
> drivers/common/mlx5/mlx5_prm.h | 4 +++-
> 3 files changed, 5 insertions(+), 1 deletion(-)
>
Applied to dpdk-next-virtio/master
Thanks,
Maxime
Hi Ferruh,
On 6/18/20 6:30 PM, Maxime Coquelin wrote:
>
>
> On 6/2/20 5:51 PM, Matan Azrad wrote:
>> Starting from FW version 22.27.4002, it is required to configure
>> protection domain (PD) for each virtq created by DevX.
>>
>> Add PD requirement in virtq DevX APIs.
>>
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Matan Azrad <matan@mellanox.com>
>> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
>> ---
>> drivers/common/mlx5/mlx5_devx_cmds.c | 1 +
>> drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
>> drivers/common/mlx5/mlx5_prm.h | 4 +++-
>> 3 files changed, 5 insertions(+), 1 deletion(-)
>>
>
>
> Applied to dpdk-next-virtio/master
Finally not, this version has also been superseded.
I removed it from my tree.
Maxime
> Thanks,
> Maxime
>
On 6/19/20 8:01 AM, Maxime Coquelin wrote:
> Hi Ferruh,
>
> On 6/18/20 6:30 PM, Maxime Coquelin wrote:
>>
>>
>> On 6/2/20 5:51 PM, Matan Azrad wrote:
>>> Starting from FW version 22.27.4002, it is required to configure
>>> protection domain (PD) for each virtq created by DevX.
>>>
>>> Add PD requirement in virtq DevX APIs.
>>>
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Matan Azrad <matan@mellanox.com>
>>> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
>>> ---
>>> drivers/common/mlx5/mlx5_devx_cmds.c | 1 +
>>> drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
>>> drivers/common/mlx5/mlx5_prm.h | 4 +++-
>>> 3 files changed, 5 insertions(+), 1 deletion(-)
>>>
>>
>>
>> Applied to dpdk-next-virtio/master
>
>
> Finally not, this version has also been superseded.
> I removed it from my tree.
Nevermind for this series, Matan did not send a new revision for it.
Sorry,
Maxime
> Maxime
>
>> Thanks,
>> Maxime
>>
>
@@ -1262,6 +1262,7 @@ struct mlx5_devx_obj *
MLX5_SET(virtio_q, virtctx, umem_3_size, attr->umems[2].size);
MLX5_SET64(virtio_q, virtctx, umem_3_offset, attr->umems[2].offset);
MLX5_SET(virtio_q, virtctx, counter_set_id, attr->counters_obj_id);
+ MLX5_SET(virtio_q, virtctx, pd, attr->pd);
MLX5_SET(virtio_net_q, virtq, tisn_or_qpn, attr->tis_id);
virtq_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out,
sizeof(out));
@@ -259,6 +259,7 @@ struct mlx5_devx_virtq_attr {
uint16_t hw_available_index;
uint16_t hw_used_index;
uint16_t q_size;
+ uint32_t pd:24;
uint32_t virtio_version_1_0:1;
uint32_t tso_ipv4:1;
uint32_t tso_ipv6:1;
@@ -2088,7 +2088,9 @@ struct mlx5_ifc_virtio_q_bits {
u8 umem_3_size[0x20];
u8 umem_3_offset[0x40];
u8 counter_set_id[0x20];
- u8 reserved_at_320[0xe0];
+ u8 reserved_at_320[0x8];
+ u8 pd[0x18];
+ u8 reserved_at_340[0xc0];
};
struct mlx5_ifc_virtio_net_q_bits {