]> git.hungrycats.org Git - linux/commit
net: mana: Add support for page sizes other than 4KB on ARM64
authorHaiyang Zhang <haiyangz@microsoft.com>
Mon, 17 Jun 2024 20:17:26 +0000 (13:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:01:11 +0000 (12:01 +0200)
commit76024ae302c68be2d02d6f4b9dfc04317d5a3278
tree46b0cc9ce4afb3126169e67ff064f573a912af75
parentb4e21431a0db4854b5023cd5af001be557e6c3db
net: mana: Add support for page sizes other than 4KB on ARM64

[ Upstream commit 382d1741b5b2feffef7942dd074206372afe1a96 ]

As defined by the MANA Hardware spec, the queue size for DMA is 4KB
minimal, and power of 2. And, the HWC queue size has to be exactly
4KB.

To support page sizes other than 4KB on ARM64, define the minimal
queue size as a macro separately from the PAGE_SIZE, which we always
assumed it to be 4KB before supporting ARM64.

Also, add MANA specific macros and update code related to size
alignment, DMA region calculations, etc.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Link: https://lore.kernel.org/r/1718655446-6576-1-git-send-email-haiyangz@microsoft.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 9e517a8e9d9a ("RDMA/mana_ib: use the correct page table index based on hardware page size")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/microsoft/Kconfig
drivers/net/ethernet/microsoft/mana/gdma_main.c
drivers/net/ethernet/microsoft/mana/hw_channel.c
drivers/net/ethernet/microsoft/mana/mana_en.c
drivers/net/ethernet/microsoft/mana/shm_channel.c
include/net/mana/gdma.h
include/net/mana/mana.h