From nobody Sun Dec 14 21:36:29 2025 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 867A322A805; Wed, 5 Feb 2025 10:35:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738751723; cv=none; b=Qy5g2NtFeghS+Q+eDIg6vgzB305md7ozeeCf/elB1DH6le8Yfrc2QxgO4x/wvwlMmiZsa5MqkhQsh2d9MApzbVuiGnuhyp54t3PdAGWtP0LfjFrqxYL29GHYdeDlXi784ygFe4mkeuK65VSLd1/NWynzwAQIBGWswmkYKvOdc3A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738751723; c=relaxed/simple; bh=lSw4UWDH8iSi65xYKCTk15tuoPTtKNBGDKT4Pmf5p24=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=GyGQgp/tc2aKMhpqXgANL8EZ73PfzsUyR0iqLPPNfF3+KcxtIiM97oN2zD0Inidi/yrUpkEU0/H2ZE6Ve5UzqC2IyHYIKDCfTNtDQN/YFX8mzFHaCspIpn3NSQ9oAztWfLdMdNlZK2vhMXsyuehY2OiIimj5yttbW71LKNe5uvE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=HKvBCvOE; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="HKvBCvOE" Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id 1EF34203F58C; Wed, 5 Feb 2025 02:35:22 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 1EF34203F58C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1738751722; bh=C7/UEa9VKEJtG/t/pEwk9Ij8oxWe+D6imt/kWE7BFxI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HKvBCvOEojZ6o1St9XqEBvtw5BO6dsYKd2sF7jUzuzpULovJTVGU5gPTUclCseoh6 xp4PaLvVa6oLn6B+XXIKniyGhg5Q/JFp8bjOx/aS+YucxwMXm9Doyewp1euAL1b6L7 qoi5bklDrCr9igLkZ0dGV69xUasODoraZ6qzd23w= From: Konstantin Taranov To: kotaranov@microsoft.com, shirazsaleem@microsoft.com, sharmaajay@microsoft.com, longli@microsoft.com, jgg@ziepe.ca, leon@kernel.org Cc: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH rdma-next 1/2] RDMA/mana_ib: Query feature_flags bitmask from FW Date: Wed, 5 Feb 2025 02:35:12 -0800 Message-Id: <1738751713-16169-2-git-send-email-kotaranov@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1738751713-16169-1-git-send-email-kotaranov@linux.microsoft.com> References: <1738751713-16169-1-git-send-email-kotaranov@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Shiraz Saleem Extend the mana_ib_gd_query_adapter_caps function to retrieve and store the feature_flags from the firmware response. Signed-off-by: Shiraz Saleem Signed-off-by: Konstantin Taranov --- drivers/infiniband/hw/mana/main.c | 3 ++- drivers/infiniband/hw/mana/mana_ib.h | 2 ++ include/net/mana/gdma.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana= /main.c index ae1fb69..3d4b8e2 100644 --- a/drivers/infiniband/hw/mana/main.c +++ b/drivers/infiniband/hw/mana/main.c @@ -665,7 +665,7 @@ int mana_ib_gd_query_adapter_caps(struct mana_ib_dev *d= ev) =20 mana_gd_init_req_hdr(&req.hdr, MANA_IB_GET_ADAPTER_CAP, sizeof(req), sizeof(resp)); - req.hdr.resp.msg_version =3D GDMA_MESSAGE_V3; + req.hdr.resp.msg_version =3D GDMA_MESSAGE_V4; req.hdr.dev_id =3D dev->gdma_dev->dev_id; =20 err =3D mana_gd_send_request(mdev_to_gc(dev), sizeof(req), @@ -694,6 +694,7 @@ int mana_ib_gd_query_adapter_caps(struct mana_ib_dev *d= ev) caps->max_inline_data_size =3D resp.max_inline_data_size; caps->max_send_sge_count =3D resp.max_send_sge_count; caps->max_recv_sge_count =3D resp.max_recv_sge_count; + caps->feature_flags =3D resp.feature_flags; =20 return 0; } diff --git a/drivers/infiniband/hw/mana/mana_ib.h b/drivers/infiniband/hw/m= ana/mana_ib.h index cd771af..baaeef0 100644 --- a/drivers/infiniband/hw/mana/mana_ib.h +++ b/drivers/infiniband/hw/mana/mana_ib.h @@ -58,6 +58,7 @@ struct mana_ib_adapter_caps { u32 max_send_sge_count; u32 max_recv_sge_count; u32 max_inline_data_size; + u64 feature_flags; }; =20 struct mana_ib_queue { @@ -230,6 +231,7 @@ struct mana_ib_query_adapter_caps_resp { u32 max_send_sge_count; u32 max_recv_sge_count; u32 max_inline_data_size; + u64 feature_flags; }; /* HW Data */ =20 struct mana_rnic_create_adapter_req { diff --git a/include/net/mana/gdma.h b/include/net/mana/gdma.h index a94b04e..50ffbc4 100644 --- a/include/net/mana/gdma.h +++ b/include/net/mana/gdma.h @@ -152,6 +152,7 @@ struct gdma_general_req { #define GDMA_MESSAGE_V1 1 #define GDMA_MESSAGE_V2 2 #define GDMA_MESSAGE_V3 3 +#define GDMA_MESSAGE_V4 4 =20 struct gdma_general_resp { struct gdma_resp_hdr hdr; --=20 2.43.0 From nobody Sun Dec 14 21:36:29 2025 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8BD7C22A80B; Wed, 5 Feb 2025 10:35:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738751723; cv=none; b=Cbx5rBUCibsf9U/vSmPa2XyRUPoknM4EndZGNqS0G9xkLrfs+Ir+1Epsly8N0QWaj1q3Qc3Mrd3WMlgrDewl4k+HCP6r4h1ZhQFW2trjiG6vCiEZGxdabhtNBXTxUjkAsfLIxOGxCHYdeVid9BO3emFaplnboF5RSrOnGVNjeeU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738751723; c=relaxed/simple; bh=Sho+agxWASg7IpR0l+ubU3+v0WDYiPyNp3M4L6etPeU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=C2yQUneYBahQKgour6Pc5G9+H75Rl8iFvidYXnLgJ9bAXwU1+a5Aufe6QJGvzdxjwjzdZsVaDsx2sJu2p2/5yNsSUqwdL7HcwVzaLJ9hfggYoLj59t3TbWVkVVGjZ//UVPEWdT4ucmAi8bPO92p+rYQst/EodgpqKoDGL9ANxQo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=kExXA1f1; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="kExXA1f1" Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id 368BF203F58D; Wed, 5 Feb 2025 02:35:22 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 368BF203F58D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1738751722; bh=77FhRdIDsL5g3ceMt06aQ2NDVZCKk8/I8o+IzUgf4hs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kExXA1f1fxvjYP0RI31D2y5Sk/4FTgjzREWfOb3CoB6gv72EiJFUaRjQe0rjUini6 yPVNUGG3DLRSeH1kZLwsXoIf3TbRgUp2sQiVeaJXNfeD+97eFBe2OKdgUrt0vTrzuO gnG2pdnGyA4hpIEohTrXAmrs75V0COlEn28g7WjU= From: Konstantin Taranov To: kotaranov@microsoft.com, shirazsaleem@microsoft.com, sharmaajay@microsoft.com, longli@microsoft.com, jgg@ziepe.ca, leon@kernel.org Cc: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH rdma-next 2/2] RDMA/mana_ib: request error CQEs when supported Date: Wed, 5 Feb 2025 02:35:13 -0800 Message-Id: <1738751713-16169-3-git-send-email-kotaranov@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1738751713-16169-1-git-send-email-kotaranov@linux.microsoft.com> References: <1738751713-16169-1-git-send-email-kotaranov@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Konstantin Taranov Request an adapter with error CQEs when it is supported. Signed-off-by: Konstantin Taranov --- drivers/infiniband/hw/mana/main.c | 3 +++ drivers/infiniband/hw/mana/mana_ib.h | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana= /main.c index 3d4b8e2..e3230fe 100644 --- a/drivers/infiniband/hw/mana/main.c +++ b/drivers/infiniband/hw/mana/main.c @@ -794,6 +794,9 @@ int mana_ib_gd_create_rnic_adapter(struct mana_ib_dev *= mdev) req.hdr.dev_id =3D gc->mana_ib.dev_id; req.notify_eq_id =3D mdev->fatal_err_eq->id; =20 + if (mdev->adapter_caps.feature_flags & MANA_IB_FEATURE_CLIENT_ERROR_CQE_S= UPPORT) + req.feature_flags |=3D MANA_IB_FEATURE_CLIENT_ERROR_CQE_REQUEST; + err =3D mana_gd_send_request(gc, sizeof(req), &req, sizeof(resp), &resp); if (err) { ibdev_err(&mdev->ib_dev, "Failed to create RNIC adapter err %d", err); diff --git a/drivers/infiniband/hw/mana/mana_ib.h b/drivers/infiniband/hw/m= ana/mana_ib.h index baaeef0..ad716a9 100644 --- a/drivers/infiniband/hw/mana/mana_ib.h +++ b/drivers/infiniband/hw/mana/mana_ib.h @@ -211,6 +211,10 @@ struct mana_ib_query_adapter_caps_req { struct gdma_req_hdr hdr; }; /*HW Data */ =20 +enum mana_ib_adapter_features { + MANA_IB_FEATURE_CLIENT_ERROR_CQE_SUPPORT =3D BIT(4), +}; + struct mana_ib_query_adapter_caps_resp { struct gdma_resp_hdr hdr; u32 max_sq_id; @@ -234,6 +238,10 @@ struct mana_ib_query_adapter_caps_resp { u64 feature_flags; }; /* HW Data */ =20 +enum mana_ib_adapter_features_request { + MANA_IB_FEATURE_CLIENT_ERROR_CQE_REQUEST =3D BIT(1), +}; /*HW Data */ + struct mana_rnic_create_adapter_req { struct gdma_req_hdr hdr; u32 notify_eq_id; --=20 2.43.0