From patchwork Mon Jun 12 09:48:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 13276242 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 3CD1DC7EE2E for ; Mon, 12 Jun 2023 10:23:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232666AbjFLKXW (ORCPT ); Mon, 12 Jun 2023 06:23:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234564AbjFLKXD (ORCPT ); Mon, 12 Jun 2023 06:23:03 -0400 Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28C4C2D4A for ; Mon, 12 Jun 2023 03:02:13 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1b3c0c476d1so10076605ad.1 for ; Mon, 12 Jun 2023 03:02:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1686564040; x=1689156040; h=message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hoVeWn8h1o4AfPcAzoTfNYb6sSoGsUJgWlVrdROENRs=; b=ZEjWkgYxIDoUrqJ175ZwQA2r6KZmT5soPdPPcyYXQsTxVN3U0Rf/HvYxQ1N7nuBejd Qkp4ONvocjfUtyWLu7Y6OyAhWmqgrIleQVZRbrQ6Fd7s5upS2JmqgDQQuLXm/nkHWxoH rNrxHIwwpwsSj+HHdEhh2K4RKpDtcbTfnV/Tg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686564040; x=1689156040; h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hoVeWn8h1o4AfPcAzoTfNYb6sSoGsUJgWlVrdROENRs=; b=HRhRGSo/mDWgil/YPgJL8TjAnsrI93iLS7wSlNdMdI4dm49Lynl1Z+WtW++OfjiC8I 3LYjp35ihyz35jnIAAlo0xHXQoAMPZi1zCsnf63g+9OJTw0Vxh3w1/eoZwtQKpxZwPNV fzCaHzD0NQqSpWrbFr+HCC5jQm1tO3IWZO3v3jllXuSdo+kOnTG0+WJaf3nNH+6NAGpE Q3AehnI8EKDq2Vhhxrc4wrpaoWnWZRGOWWHnF2+3mUThofJdk/zubv6TnnM9Rsg7BYlj H98R1oCr8mvPEo3VxppCAKZ4xfxJFPfnVULExBUUc+9AkmUFSm/b7EPAGaXPOtIf9LhY bkow== X-Gm-Message-State: AC+VfDwWuadMDKOXIQXMGLKQqo7K2fXq+pXrDClL796tMwsvSowtRzgw ZdvL79NT7lVLbEMaBpe8deDC2A== X-Google-Smtp-Source: ACHHUZ5vPZWIoDnoflqO2n/kWgl0U9Ke+MUgZaDVD1gxXQVKpi0pWbKNY+c6IQsTQHPvpLc2cZQUzQ== X-Received: by 2002:a17:902:e811:b0:1ad:f407:37d2 with SMTP id u17-20020a170902e81100b001adf40737d2mr7429872plg.5.1686564040242; Mon, 12 Jun 2023 03:00:40 -0700 (PDT) Received: from dhcp-10-192-206-197.iig.avagotech.net.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id q16-20020a170902dad000b001ae2b94701fsm7792050plx.21.2023.06.12.03.00.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Jun 2023 03:00:39 -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 v5 for-next 0/7] RDMA/bnxt_re: driver update for supporting low latency push Date: Mon, 12 Jun 2023 02:48:55 -0700 Message-Id: <1686563342-15233-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 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 | 263 ++++++++++++++++++++++++++--- 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 | 28 +++ 11 files changed, 565 insertions(+), 130 deletions(-)