[PATCH 21.11] vdpa/mlx5: workaround var offset within page
Kevin Traynor
ktraynor at redhat.com
Tue Jun 28 16:58:03 CEST 2022
On 28/06/2022 03:47, Yajun Wu wrote:
> [ upstream commit 95af59b7ad9f6a465de2ead9ef709429678e750d ]
>
> vDPA driver first uses kernel driver to allocate doorbell(VAR) area for
> each device. Then uses var->mmap_off and var->length to mmap uverbs device
> file as doorbell userspace virtual address.
>
> Current kernel driver provides var->mmap_off equal to page start of VAR.
> It's fine with x86 4K page server, because VAR physical address is only 4K
> aligned thus locate in 4K page start.
>
> But with aarch64 64K page server, the actual VAR physical address has
> offset within page(not locate in 64K page start). So vDPA driver need add
> this within page offset(caps.doorbell_bar_offset) to get right VAR virtual
> address.
>
> Fixes: 62c813706e4 ("vdpa/mlx5: map doorbell")
>
> Signed-off-by: Yajun Wu <yajunw at nvidia.com>
> Acked-by: Matan Azrad <matan at nvidia.com>
> Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ---
Applied, thanks.
More information about the stable
mailing list