From patchwork Thu Feb 7 06:31:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Devesh Sharma X-Patchwork-Id: 10800407 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 956951390 for ; Thu, 7 Feb 2019 06:31:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7FA822BA7D for ; Thu, 7 Feb 2019 06:31:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7D98A2D15D; Thu, 7 Feb 2019 06:31:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C47662D15D for ; Thu, 7 Feb 2019 06:31:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726436AbfBGGbk (ORCPT ); Thu, 7 Feb 2019 01:31:40 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:41382 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725912AbfBGGbk (ORCPT ); Thu, 7 Feb 2019 01:31:40 -0500 Received: by mail-pl1-f195.google.com with SMTP id k15so4336809pls.8 for ; Wed, 06 Feb 2019 22:31:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id; bh=mrs6y+GrAiuayQ6zbvTrxVV12be8WWP8yeVANb20CeU=; b=h5tjN6g5eSxQBHJhzAgVsD8/C4g/MsjzrJjFZpQTA4Dch4bekBtxS1sWc3LNpReCRm eO6luG0afl6/3BePQyy6iWfqr3EMLsxlH9BekDDVrmbFIEkJa1bA8K/MY4+07IVnqhKa nAGNmUH6Hguhi6X8TgV2VA/85PPcXR50kJtUA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=mrs6y+GrAiuayQ6zbvTrxVV12be8WWP8yeVANb20CeU=; b=MV7Yl/iWpg+eaCmkWzyxHJDAssIYmqT2lwcvFub+iqYic4+kRr33Xwggf6OeVqu31c nAAfbftbqsXgWRUZh6EHMd+5wUX10oxpkdf1lK3Ca2XTsdM2wznbgeYgsn6sQ38AlPGv YuRVM6vqJiGHvrFxLQpQ1lfFowStDOh7I+6lY/vf+TyW2Yp0YJn4pd1OTOy5iRUJyEiJ dKXezx4FgiR106VfcPexpLr/rMWF9jAXTc2+xDSSwkWlJD4iej5wuFr4cTbDnGFRHvUj idD055nt8x026+wk3SspZ1AjPrNGJyuBzFCuZTrW9rw2iP0+6bnAx3oGdZY4mM66LsR+ EYbg== X-Gm-Message-State: AHQUAuZfOgVIHHjfg7PgHFUr8LwP9P1pQwtDmV/fJxq+nYINCekZETd1 G+16dIm+23xdr6gprzFDu5VRZYEMAFf1EejZe0mSC6DVNPa/BvizCuv6I1myWwDNygQ0X8/dRCp +p3DVPZ0ipD6+2VdTgqDZ6wuzk96dMe3TbjxpXpTU9pVj/IWQ4SKaGGNtzbCXqomViB+yeac8J6 phuQM= X-Google-Smtp-Source: AHgI3IazWgNzFFfPSDq8zGSaSf8MFoGhHV7pNsNVkt0WwEDUVfnu5DPa4UxGvH1sKZwvI3hNsF7GNg== X-Received: by 2002:a17:902:7892:: with SMTP id q18mr14891378pll.217.1549521099064; Wed, 06 Feb 2019 22:31:39 -0800 (PST) Received: from neo00-el73.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id i74sm1426266pfi.33.2019.02.06.22.31.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Feb 2019 22:31:38 -0800 (PST) From: Devesh Sharma To: linux-rdma@vger.kernel.org Cc: dledford@redhat.com, jgg@mellanox.com, Devesh Sharma Subject: [for-next V5 0/7]Add support for Broadcom's 57500 series of adapters Date: Thu, 7 Feb 2019 01:31:21 -0500 Message-Id: <1549521088-6903-1-git-send-email-devesh.sharma@broadcom.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This is to enable RoCE on Broadcom's 57500 series of adapters. Patch 0001, 0002 and 0003 are handing the control path changes. Patch 0004 and 0005 are related to kernel space fast path. Patch 0006 handles the user-kernel ABI changes. Patch 0007 is to enable RoCE driver load on next gen chips. This patch series requires a patch from Linus git: commit 78793afbb0b9 ("bnxt_en: Increase context memory allocations on 57500 chips for RDMA.") Changelog: V4->V5 rebased the series to the tip of for-next. Patch 0002: - cleaned up the DB ring code to address muti-platform mmio-write compatibility issue. V3->V4 rebased the series to the tip of for-next. Patch 0002: - dropped use of __iowrite64_copy, use writeq instead. Patch 0006: - use __aligned_u64 instead of __u64. - fix sizeof(resp) when copying response to user. V2->V3 Patch 0006: - Implemented the comp_mask approach instead of changing the ABI version number. V1->V2 Rebased the series to the tip of for-next and fixed widespread code alignment. Patch 0001: - Replace chip_ctx pointer with static member in bnxt_re_dev structure. Patch 0002: - Fixed kbuild error on i386 arch. Using "depends on 64BIT" - Removed wmb before calling writeq in db-ring functions Patch 0003: - Fixed typo in the commit message Patch 0004: - Removed endian-ness fix from feature series. Patch 0005: - Fixed code formatting issues Patch 0006: - Implemented ABI range check as suggested by Jason and Leon Devesh Sharma (7): RDMA/bnxt_re: Add chip context to identify 57500 series RDMA/bnxt_re: Add 64bit doorbells for 57500 series RDMA/bnxt_re: Skip backing store allocation for 57500 series RDMA/bnxt_re: Enable GSI QP support for 57500 series RDMA/bnxt_re: Add extended psn structure for 57500 adapters RDMA/bnxt_re: Update kernel user abi to pass chip context RDMA/bnxt_en: Enable RDMA driver support for 57500 chip drivers/infiniband/hw/bnxt_re/Kconfig | 1 + drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 132 +++++++++++++------- drivers/infiniband/hw/bnxt_re/main.c | 122 +++++++++++++----- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 173 +++++++++++++++----------- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 47 ++++++- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 37 ++++-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 45 ++++++- drivers/infiniband/hw/bnxt_re/qplib_res.c | 10 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 30 ++++- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 3 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 160 +++++++++++++++--------- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 3 - include/uapi/rdma/bnxt_re-abi.h | 11 ++ 14 files changed, 535 insertions(+), 240 deletions(-)