RDMA/mana_ib: use the correct page table index based on hardware page size
Subsystems (5)
PATCH v2 1/2 RDMA/mana_ib: use the correct page table index based on hardware page size
From: Long Li <[email protected]>
MANA hardware uses 4k page size. When calculating the page table index, it should use the hardware page size, not the system page size.
---
change log
v2: replaced net with rdma-next tag in patch title and simplified the title
drivers/infiniband/hw/mana/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/infiniband/hw/mana/main.c +1 -1
@@ -383,7 +383,7 @@ static int mana_ib_gd_create_dma_region(struct mana_ib_dev *dev, struct ib_umem create_req->length = umem->length; create_req->offset_in_page =ib_umem_dma_offset (umem, page_sz); - create_req->gdma_page_type =order_base_2 (page_sz) -PAGE_SHIFT ; + create_req->gdma_page_type =order_base_2 (page_sz) -MANA_PAGE_SHIFT ; create_req->page_count = num_pages_total; ibdev_dbg(&dev->ib_dev, "size_dma_region %lu num_pages_total %lu\n",
Signature · 1 line
2.17.1
PATCH v2 2/2 RDMA/mana_ib: use the correct page size for mapping user-mode doorbell page
From: Long Li <[email protected]>
When mapping doorbell page from user-mode, the driver should use the system page size as this memory is allocated via mmap() from user-mode.
---
change log
v2: used rdma-next tag in patch title. fixed printk format identifier for unsigned long.
drivers/infiniband/hw/mana/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/infiniband/hw/mana/main.c +3 -3
@@ -511,13 +511,13 @@ int mana_ib_mmap(struct ib_ucontext *ibcontext, struct vm_area_struct *vma)PAGE_SHIFT ; prot =pgprot_writecombine (vma->vm_page_prot); - ret =rdma_user_mmap_io (ibcontext, vma, pfn, gc->db_page_size, prot, + ret =rdma_user_mmap_io (ibcontext, vma, pfn,PAGE_SIZE , prot,NULL );if (ret)ibdev_dbg (ibdev,"can't rdma_user_mmap_io ret %d\n" , ret);else -ibdev_dbg (ibdev,"mapped I/O pfn 0x%llx page_size %u, ret %d\n" , - pfn, gc->db_page_size, ret); +ibdev_dbg (ibdev,"mapped I/O pfn 0x%llx page_size %lu, ret %d\n" , + pfn,PAGE_SIZE , ret);return ret; }
Signature · 1 line
2.17.1
Leon Romanovsky
AppliedQuoted 4 lines · On Fri, 30 Aug 2024 08:16:32 -0700, [email protected] wrote:
MANA hardware uses 4k page size. When calculating the page table index, it should use the hardware page size, not the system page size.
Applied, thanks!
[1/2] RDMA/mana_ib: use the correct page table index based on hardware page size
https://git.kernel.org/rdma/rdma/c/9e517a8e9d9a30 [2/2] RDMA/mana_ib: use the correct page size for mapping user-mode doorbell page https://git.kernel.org/rdma/rdma/c/4a3b99bc04e501
Best regards,
Signature · 1 line
Leon Romanovsky <[email protected]>