From patchwork Sat Jan 26 05:55:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Devesh Sharma X-Patchwork-Id: 10782321 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 BDB1013B5 for ; Sat, 26 Jan 2019 05:55:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9D5A22FC37 for ; Sat, 26 Jan 2019 05:55:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8B8A42FC43; Sat, 26 Jan 2019 05:55:41 +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 63C0D2FC37 for ; Sat, 26 Jan 2019 05:55:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726991AbfAZFzf (ORCPT ); Sat, 26 Jan 2019 00:55:35 -0500 Received: from mail-ed1-f67.google.com ([209.85.208.67]:45587 "EHLO mail-ed1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725562AbfAZFzf (ORCPT ); Sat, 26 Jan 2019 00:55:35 -0500 Received: by mail-ed1-f67.google.com with SMTP id d39so8975465edb.12 for ; Fri, 25 Jan 2019 21:55:34 -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=gjzJeZcHjS+foJWsi4nk+xVKNhWmUbOBZ7RsORAEG3I=; b=QyDqGRzPokZ9KVtws1ti/q6RW2XIJEMGhSOI9FHUSTF+3tLbwd3BqPpCcP/hlf8yL1 XVhlaC42AYD2fOLCMfFZQ5eJAg12nJH8ONnvGUBk5z+TdioqrmHKKohQ4N3jTCrIU+g2 qKww4ozc63q2kEyz0nvhj3V53O3jGhFFD7Gxk= 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=gjzJeZcHjS+foJWsi4nk+xVKNhWmUbOBZ7RsORAEG3I=; b=sixS61+ZjvBPjNcimQvs3nMy/RBMchoLuBOuEsnsjfSJtMRPWMgDzzs+7+XnkvxuqN M9KThCI9nHiTyzpWzJPyXyB7W1Po4RNH7tmrIHvYim454xi7+7U/H/yXkUBDXNGAC/h2 uLLVTCjHHPVEFIZTAccMmSAVv+pHlBMLmrKTaKYzI2ojDTqxQr2on3gqqyWgnDR9GaT2 9kG2eW1q5dFGN2V4MDA2T8A4RUhrO3SDGTOe7KtOOsGHSF5W8erVO+UTO7LQyOi0Nsez 8ju67I11xa0Ql4Dh+rWmK62fRRTG0BU7CXkBP6ayZwp9XM9/9t4MgN68rzneNQqZeEG1 VJcg== X-Gm-Message-State: AJcUukcFgOOKmeL7EEEtQbGZJKW9OnkVs9yWOFFasEC9reXVGOS+WuYS D9Hvc7VVNzrq+NXzPexCSdRGeXKwfw9L4I7Lz6F/EFZsLJSvU1QVighTk1rGUF8hE7rjD32N++h k7OJIDBNU6HVxyaQci1UlzunTH8lIHqG80gmqWzoE2jnhkkttieC2yZjA3Uh288eeRpvdvoNehA cgERQ= X-Google-Smtp-Source: ALg8bN4nhK16W789GybilQy0pIcyvnRvxi7QoQzgf5O8AzcI3oySXT+JtCd1PI3qDozgsMp1CVS4CA== X-Received: by 2002:a17:906:6a44:: with SMTP id n4mr7547038ejs.20.1548482133584; Fri, 25 Jan 2019 21:55:33 -0800 (PST) Received: from neo00-el73.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id c53sm13091363ede.26.2019.01.25.21.55.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Jan 2019 21:55:32 -0800 (PST) From: Devesh Sharma To: linux-rdma@vger.kernel.org Cc: dledford@redhat.com, jgg@mellanox.com, Devesh Sharma Subject: [for-next V4 0/7] Add support for Broadcom's 57500 series of adapters Date: Sat, 26 Jan 2019 00:55:13 -0500 Message-Id: <1548482120-10898-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: 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 | 160 ++++++++++++++++---------- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 50 +++++++- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 37 ++++-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 47 +++++++- 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, 538 insertions(+), 229 deletions(-)