* Re: [PATCH 3/3] RDMA/ionic: Support QP transport mode selection in create and modify
[not found] ` <20260430123931.3256130-4-abhijit.gangurde@amd.com>
@ 2026-05-11 12:50 ` Leon Romanovsky
0 siblings, 0 replies; only message in thread
From: Leon Romanovsky @ 2026-05-11 12:50 UTC (permalink / raw)
To: Abhijit Gangurde
Cc: jgg, brett.creeley, andrew+netdev, davem, edumazet, kuba, pabeni,
allen.hubbe, nikhil.agarwal, linux-rdma, netdev, linux-kernel
On Thu, Apr 30, 2026 at 06:09:31PM +0530, Abhijit Gangurde wrote:
> Allow userspace to specify the QP transport mode and number of
> reorder completion queue paths during QP creation and modification.
>
> Extend ionic_qp_req with transport_mode, num_rcq_paths, and
> ionic_flags fields. The transport mode selects the firmware QP type,
> ionic_flags are forwarded in the upper bits of priv_flags during
> QP creation, and num_rcq_paths is passed to firmware during QP
> modify.
>
> Co-developed-by: Allen Hubbe <allen.hubbe@amd.com>
> Signed-off-by: Allen Hubbe <allen.hubbe@amd.com>
> Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
> ---
> .../infiniband/hw/ionic/ionic_controlpath.c | 16 +++++++++++-----
> drivers/infiniband/hw/ionic/ionic_fw.h | 18 +++++++++++++++---
> drivers/infiniband/hw/ionic/ionic_ibdev.h | 1 +
> include/uapi/rdma/ionic-abi.h | 5 ++++-
> 4 files changed, 31 insertions(+), 9 deletions(-)
<...>
> +enum ionic_qp_transport_mode {
> + IONIC_QPT_TRANSPORT_ROCE_V2 = BIT(0),
> + IONIC_QPT_TRANSPORT_MRC = BIT(1),
> +};
> +
> /* admin queue qp type */
> enum ionic_qp_type {
> IONIC_QPT_RC,
> @@ -228,16 +235,21 @@ enum ionic_qp_type {
> IONIC_QPT_XRC_INI,
> IONIC_QPT_XRC_TGT,
> IONIC_QPT_XRC_SRQ,
> + IONIC_QPT_MRC,
> };
>
> -static inline int to_ionic_qp_type(enum ib_qp_type type)
> +static inline int to_ionic_qp_type(enum ib_qp_type type,
> + enum ionic_qp_transport_mode tm)
> {
> switch (type) {
> case IB_QPT_GSI:
> case IB_QPT_UD:
> return IONIC_QPT_UD;
> case IB_QPT_RC:
> - return IONIC_QPT_RC;
> + if (tm == IONIC_QPT_TRANSPORT_MRC)
> + return IONIC_QPT_MRC;
> + else
> + return IONIC_QPT_RC;
We have historically treated vendor-specific QP types as special cases and
routed them through IB_QPT_DRIVER.
IB_QPT_RC represents a standard RC QP and is expected to follow the
specification.
Thanks
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-11 12:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260430123931.3256130-1-abhijit.gangurde@amd.com>
[not found] ` <20260430123931.3256130-4-abhijit.gangurde@amd.com>
2026-05-11 12:50 ` [PATCH 3/3] RDMA/ionic: Support QP transport mode selection in create and modify Leon Romanovsky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox