Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
* [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices
@ 2026-07-12 13:44 Michael Margolin
  2026-07-12 13:44 ` [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration Michael Margolin
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Michael Margolin @ 2026-07-12 13:44 UTC (permalink / raw)
  To: jgg, leon, linux-rdma; +Cc: sleybo, matua, gal.pressman

Make a minor device interface change needed for new EFA devices and
enable support for 0xefa4 PCI ID.

Anas Mousa (1):
  RDMA/efa: Add EFA 0xefa4 PCI ID

Michael Margolin (1):
  RDMA/efa: Extend page-shift field in MR registration

 drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 6 +++---
 drivers/infiniband/hw/efa/efa_main.c            | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

-- 
2.47.3


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration
  2026-07-12 13:44 [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Michael Margolin
@ 2026-07-12 13:44 ` Michael Margolin
  2026-07-13  9:31   ` Leon Romanovsky
  2026-07-12 13:44 ` [PATCH for-next 2/2] RDMA/efa: Add EFA 0xefa4 PCI ID Michael Margolin
  2026-07-14  6:51 ` [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Leon Romanovsky
  2 siblings, 1 reply; 6+ messages in thread
From: Michael Margolin @ 2026-07-12 13:44 UTC (permalink / raw)
  To: jgg, leon, linux-rdma; +Cc: sleybo, matua, gal.pressman, Yonatan Nachum

Update device interface adding one more bit from reserved to enable
>4GB page sizes that can be supported on 0xefa4 devices.

Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
---
 drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
index 826790ca9d83..3eb3a4de8912 100644
--- a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
+++ b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
@@ -367,10 +367,10 @@ struct efa_admin_reg_mr_cmd {
 
 	/*
 	 * flags and page size
-	 * 4:0 : phys_page_size_shift - page size is (1 <<
+	 * 5:0 : phys_page_size_shift - page size is (1 <<
 	 *    phys_page_size_shift). Page size is used for
 	 *    building the Virtual to Physical address mapping
-	 * 6:5 : reserved - MBZ
+	 * 6 : reserved - MBZ
 	 * 7 : mem_addr_phy_mode_en - Enable bit for physical
 	 *    memory registration (no translation), can be used
 	 *    only by privileged clients. If set, PBL must
@@ -1103,7 +1103,7 @@ struct efa_admin_host_info {
 #define EFA_ADMIN_MODIFY_QP_CMD_RNR_RETRY_MASK              BIT(5)
 
 /* reg_mr_cmd */
-#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(4, 0)
+#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(5, 0)
 #define EFA_ADMIN_REG_MR_CMD_MEM_ADDR_PHY_MODE_EN_MASK      BIT(7)
 #define EFA_ADMIN_REG_MR_CMD_LOCAL_WRITE_ENABLE_MASK        BIT(0)
 #define EFA_ADMIN_REG_MR_CMD_REMOTE_WRITE_ENABLE_MASK       BIT(1)
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH for-next 2/2] RDMA/efa: Add EFA 0xefa4 PCI ID
  2026-07-12 13:44 [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Michael Margolin
  2026-07-12 13:44 ` [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration Michael Margolin
@ 2026-07-12 13:44 ` Michael Margolin
  2026-07-14  6:51 ` [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Leon Romanovsky
  2 siblings, 0 replies; 6+ messages in thread
From: Michael Margolin @ 2026-07-12 13:44 UTC (permalink / raw)
  To: jgg, leon, linux-rdma; +Cc: sleybo, matua, gal.pressman, Anas Mousa

From: Anas Mousa <anasmous@amazon.com>

Add support for 0xefa4 devices.

Reviewed-by: Michael Margolin <mrgolin@amazon.com>
Signed-off-by: Anas Mousa <anasmous@amazon.com>
---
 drivers/infiniband/hw/efa/efa_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c
index 97da8e828e34..ee09dc1e0b43 100644
--- a/drivers/infiniband/hw/efa/efa_main.c
+++ b/drivers/infiniband/hw/efa/efa_main.c
@@ -17,12 +17,14 @@
 #define PCI_DEV_ID_EFA1_VF 0xefa1
 #define PCI_DEV_ID_EFA2_VF 0xefa2
 #define PCI_DEV_ID_EFA3_VF 0xefa3
+#define PCI_DEV_ID_EFA4_VF 0xefa4
 
 static const struct pci_device_id efa_pci_tbl[] = {
 	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA0_VF) },
 	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA1_VF) },
 	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA2_VF) },
 	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA3_VF) },
+	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA4_VF) },
 	{ }
 };
 
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration
  2026-07-12 13:44 ` [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration Michael Margolin
@ 2026-07-13  9:31   ` Leon Romanovsky
  2026-07-13 12:18     ` Michael Margolin
  0 siblings, 1 reply; 6+ messages in thread
From: Leon Romanovsky @ 2026-07-13  9:31 UTC (permalink / raw)
  To: Michael Margolin
  Cc: jgg, linux-rdma, sleybo, matua, gal.pressman, Yonatan Nachum

On Sun, Jul 12, 2026 at 01:44:12PM +0000, Michael Margolin wrote:
> Update device interface adding one more bit from reserved to enable
> >4GB page sizes that can be supported on 0xefa4 devices.
> 
> Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
> Signed-off-by: Michael Margolin <mrgolin@amazon.com>
> ---
>  drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
> index 826790ca9d83..3eb3a4de8912 100644
> --- a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
> +++ b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
> @@ -367,10 +367,10 @@ struct efa_admin_reg_mr_cmd {
>  
>  	/*
>  	 * flags and page size
> -	 * 4:0 : phys_page_size_shift - page size is (1 <<
> +	 * 5:0 : phys_page_size_shift - page size is (1 <<
>  	 *    phys_page_size_shift). Page size is used for
>  	 *    building the Virtual to Physical address mapping
> -	 * 6:5 : reserved - MBZ
> +	 * 6 : reserved - MBZ
>  	 * 7 : mem_addr_phy_mode_en - Enable bit for physical
>  	 *    memory registration (no translation), can be used
>  	 *    only by privileged clients. If set, PBL must
> @@ -1103,7 +1103,7 @@ struct efa_admin_host_info {
>  #define EFA_ADMIN_MODIFY_QP_CMD_RNR_RETRY_MASK              BIT(5)
>  
>  /* reg_mr_cmd */
> -#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(4, 0)
> +#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(5, 0)

How will the new kernel behave on non-0xefa4 devices? The new
kernel sets one additional bit that these devices do not expect.

Thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration
  2026-07-13  9:31   ` Leon Romanovsky
@ 2026-07-13 12:18     ` Michael Margolin
  0 siblings, 0 replies; 6+ messages in thread
From: Michael Margolin @ 2026-07-13 12:18 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: jgg, linux-rdma, sleybo, matua, gal.pressman, Yonatan Nachum

On Mon, Jul 13, 2026 at 12:31:18PM +0300, Leon Romanovsky wrote:
> On Sun, Jul 12, 2026 at 01:44:12PM +0000, Michael Margolin wrote:
> > Update device interface adding one more bit from reserved to enable
> > >4GB page sizes that can be supported on 0xefa4 devices.
> > 
> > Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
> > Signed-off-by: Michael Margolin <mrgolin@amazon.com>
> > ---
> >  drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
> > index 826790ca9d83..3eb3a4de8912 100644
> > --- a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
> > +++ b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
> > @@ -367,10 +367,10 @@ struct efa_admin_reg_mr_cmd {
> >  
> >  	/*
> >  	 * flags and page size
> > -	 * 4:0 : phys_page_size_shift - page size is (1 <<
> > +	 * 5:0 : phys_page_size_shift - page size is (1 <<
> >  	 *    phys_page_size_shift). Page size is used for
> >  	 *    building the Virtual to Physical address mapping
> > -	 * 6:5 : reserved - MBZ
> > +	 * 6 : reserved - MBZ
> >  	 * 7 : mem_addr_phy_mode_en - Enable bit for physical
> >  	 *    memory registration (no translation), can be used
> >  	 *    only by privileged clients. If set, PBL must
> > @@ -1103,7 +1103,7 @@ struct efa_admin_host_info {
> >  #define EFA_ADMIN_MODIFY_QP_CMD_RNR_RETRY_MASK              BIT(5)
> >  
> >  /* reg_mr_cmd */
> > -#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(4, 0)
> > +#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(5, 0)
> 
> How will the new kernel behave on non-0xefa4 devices? The new
> kernel sets one additional bit that these devices do not expect.

In the kernel, it is handled by using the supported page sizes mask
returned by the device (page_size_cap) when calling
ib_umem_find_best_pgsz(), so the kernel should never set this bit on
non supporting devices. In parallel, the device validates inputs on its
end.

Michael

> 
> Thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices
  2026-07-12 13:44 [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Michael Margolin
  2026-07-12 13:44 ` [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration Michael Margolin
  2026-07-12 13:44 ` [PATCH for-next 2/2] RDMA/efa: Add EFA 0xefa4 PCI ID Michael Margolin
@ 2026-07-14  6:51 ` Leon Romanovsky
  2 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2026-07-14  6:51 UTC (permalink / raw)
  To: linux-rdma, Jason Gunthorpe, Michael Margolin; +Cc: sleybo, matua, gal.pressman


On Sun, 12 Jul 2026 13:44:11 +0000, Michael Margolin wrote:
> Make a minor device interface change needed for new EFA devices and
> enable support for 0xefa4 PCI ID.
> 
> Anas Mousa (1):
>   RDMA/efa: Add EFA 0xefa4 PCI ID
> 
> Michael Margolin (1):
>   RDMA/efa: Extend page-shift field in MR registration
> 
> [...]

Applied, thanks!

[1/2] RDMA/efa: Extend page-shift field in MR registration
      https://git.kernel.org/rdma/rdma/c/4266547bdce742
[2/2] RDMA/efa: Add EFA 0xefa4 PCI ID
      https://git.kernel.org/rdma/rdma/c/6a57af838b1a56

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-14  6:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-12 13:44 [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Michael Margolin
2026-07-12 13:44 ` [PATCH for-next 1/2] RDMA/efa: Extend page-shift field in MR registration Michael Margolin
2026-07-13  9:31   ` Leon Romanovsky
2026-07-13 12:18     ` Michael Margolin
2026-07-12 13:44 ` [PATCH for-next 2/2] RDMA/efa: Add EFA 0xefa4 PCI ID Michael Margolin
2026-07-14  6:51 ` [PATCH for-next 0/2] RDMA/efa: Add support for 0xefa4 devices Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox