vdpa/mlx5: workaround FW first completion in start
authorXueming Li <xuemingl@nvidia.com>
Fri, 15 Oct 2021 15:05:44 +0000 (23:05 +0800)
committerMaxime Coquelin <maxime.coquelin@redhat.com>
Thu, 21 Oct 2021 12:24:21 +0000 (14:24 +0200)
commitd38a53b175935066b7a7a9c1d632c5f92cea7f5d
treec203e4953f42acd6c8469b49bc76618f7b023599
parent84cc857b5d9a344a1f04ec9f55417b58cd38e260
vdpa/mlx5: workaround FW first completion in start

After a vDPA application restart, Qemu restores VQ with used and
available index, new incoming packet triggers virtio driver to
handle buffers. Under heavy traffic, no available buffer for
firmware to receive new packets, no Rx interrupts generated,
driver is stuck on endless interrupt waiting.

As a firmware workaround, this patch sends a notification after
VQ setup to ask driver handling buffers and filling new buffers.

Fixes: bff735011078 ("vdpa/mlx5: prepare virtio queues")
Cc: stable@dpdk.org
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Reviewed-by: Matan Azrad <matan@nvidia.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
drivers/vdpa/mlx5/mlx5_vdpa_virtq.c