From patchwork Tue Jun 13 18:12:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 13279141 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66421EB64D0 for ; Tue, 13 Jun 2023 18:24:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231285AbjFMSYF (ORCPT ); Tue, 13 Jun 2023 14:24:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57960 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239242AbjFMSYE (ORCPT ); Tue, 13 Jun 2023 14:24:04 -0400 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AD69E41 for ; Tue, 13 Jun 2023 11:24:02 -0700 (PDT) Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1b3d800f671so17609155ad.0 for ; Tue, 13 Jun 2023 11:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1686680641; x=1689272641; h=message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rYzHh0n5ygkdMkFHiJF22+FwEXsdE3TOPjL1hO1FnrI=; b=U/ReaHxg+mRR/NrIDghyE885fAt9Xkj8YKqhbCMs2CdcspmjIpWEO0nCIrc+victKj 8TOpRF2NdEor85zjrQTZEjd8dVKjSpTvtBRJB7AhuJR2z0+JeGFd/MbQlIoucClrhqrY q3UeI5HV/a9sguLkrIehZBNWe2FN66/PFJnRg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686680641; x=1689272641; h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rYzHh0n5ygkdMkFHiJF22+FwEXsdE3TOPjL1hO1FnrI=; b=DUgWJrCmPPbCuAmzTkjayvj76InYsnVJM3+DyCbT+afcx/1/g+K4RkGfRhx87EnFFX dXyNALMIulyTULE6ysRGrEnperdxGj2ToeFLHAoMk5WyD/Uxdd+T0T8dRE+/cbK+I+r6 RAhMcsDkVLenGUcydu3BTdxqIZPqgkOMLewhGS+VvEe0yJrAY/b+66fz9DZeumQZiwv7 KevtltAGJTGwP0mfluuZ7vrp2xtZIp8bvz03tdF6aULarMXjx+WBVkxx5fLrJKJ0P+ov FHegU9txmrlaW5+EqXScHxmAIFFpunoBHHMJ8ubfw+QnnSLNuSO9jHUrilt2tkGaSU7G HwLQ== X-Gm-Message-State: AC+VfDxTaR3+6iY3Z8STGg7jP6szqyw4o8x9gzU7tTGP7TmBXChAmF1Z EJp01/YRqXhcn+8FVHQ85YTt+A== X-Google-Smtp-Source: ACHHUZ7dPgbbCvZN7pJbL+R/Q7hGPTtWfos17HL+TN5VedEqBhYH6SJ5YqqQv4PFm7p/tFBPiqxAsw== X-Received: by 2002:a17:902:d4cb:b0:1b1:9f8a:6c18 with SMTP id o11-20020a170902d4cb00b001b19f8a6c18mr12243618plg.25.1686680641403; Tue, 13 Jun 2023 11:24:01 -0700 (PDT) Received: from dhcp-10-192-206-197.iig.avagotech.net.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id iw21-20020a170903045500b001b3fb909f73sm285493plb.112.2023.06.13.11.23.58 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Jun 2023 11:24:00 -0700 (PDT) From: Selvin Xavier To: jgg@ziepe.ca, leon@kernel.org Cc: linux-rdma@vger.kernel.org, andrew.gospodarek@broadcom.com, Selvin Xavier Subject: [PATCH v6 for-next 0/7] RDMA/bnxt_re: driver update for supporting low latency push Date: Tue, 13 Jun 2023 11:12:16 -0700 Message-Id: <1686679943-17117-1-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org The series aims to add support for Low latency push path in some of the bnxt devices. The low latency implementation is supported only for the user applications. Also, the code is modified to use common mmap helper functions exported by IB core. User library changes are in the pull request https://github.com/linux-rdma/rdma-core/pull/1321 Please review and apply Thanks, Selvin Xavier v5 -> v6: - Use rdma_user_mmap_entry_insert_exact in case of a hardcoded mmap offset for the shared page in patch 1 - Rebase the patches based on the above change - Remove unnecessary blank space from patch 7 v4 -> v5: - Added patch 3 to optimize bnxt_re_init_hwrm_hdr parameters - Avoid memset from the callers of bnxt_re_init_hwrm_hdr - Rebased the patches to the latest from leon-for-next v3-> v4: - Remove the newly added comp_mask in the alloc_pd resp. This is not required after using the new UAPI mechanism. - Return -EINVAL if WC page mmap requested for an unsupported adapter. v2-> v3: - Rebasing after the merge window - Fix the return value check in bnxt_re_hwrm_qcfg v1 - v2: - Fixes the review comments from Leon and Jason - As suggested by Jason, implements the new uapi driver definitions for allocating pages in the driver and return the cookie for mmap Selvin Xavier (7): RDMA/bnxt_re: Use the common mmap helper functions RDMA/bnxt_re: Add disassociate ucontext support RDMA/bnxt_re: Optimize the bnxt_re_init_hwrm_hdr usage RDMA/bnxt_re: Query function capabilities from firmware RDMA/bnxt_re: Move the interface version to chip context structure RDMA/bnxt_re: Reorg the bar mapping RDMA/bnxt_re: Enable low latency push drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 276 ++++++++++++++++++++++++++--- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 19 ++ drivers/infiniband/hw/bnxt_re/main.c | 162 +++++++++++++---- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 4 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 2 + drivers/infiniband/hw/bnxt_re/qplib_res.c | 177 +++++++++++------- drivers/infiniband/hw/bnxt_re/qplib_res.h | 33 +++- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 3 + drivers/infiniband/hw/bnxt_re/qplib_sp.h | 1 + include/uapi/rdma/bnxt_re-abi.h | 27 +++ 11 files changed, 577 insertions(+), 130 deletions(-)