From patchwork Mon Nov 5 11:35:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamal Heib X-Patchwork-Id: 10667865 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 425B615A6 for ; Mon, 5 Nov 2018 11:35:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 30E9E29702 for ; Mon, 5 Nov 2018 11:35:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 23BC529782; Mon, 5 Nov 2018 11:35:48 +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,FREEMAIL_FROM,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 6AB582977F for ; Mon, 5 Nov 2018 11:35:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727481AbeKEUzD (ORCPT ); Mon, 5 Nov 2018 15:55:03 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:38936 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726319AbeKEUzD (ORCPT ); Mon, 5 Nov 2018 15:55:03 -0500 Received: by mail-wm1-f65.google.com with SMTP id u13-v6so7709193wmc.4 for ; Mon, 05 Nov 2018 03:35:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=nG6OSxuPhCBZFLNQgdOTFclxztxmUchvgpyFUSytfXM=; b=nonR4udHVzh/5W/q13Zm34VFE6tF+83+cudDFhsY8D/j0MUrPxZlauXc6iQF48o88Y qjzmbhBYXBol6E44cTZoBxycvyXnH9lEO5n9P66DC16HlSI2lq2qwTu7yaB7A6hvZh8J wS4A/wMY39lQl45/m0PCSVt1YuWfvdrZYZ/isfGz6d1epj1k1GebQeNiC5WuIfIXXY60 aIPnsY5l6JL6pea/sniBJabuB4YvBgIiBrmnCAuesnjP9awma3otkKjjp0jUbQaQnYVS /U6ZD70HTKN5rbcBYH8MvdjRX2ebS50ILvlwqYVQamjqebFEEHk4p5g9Yts8o8gLAQN0 Wqwg== 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=nG6OSxuPhCBZFLNQgdOTFclxztxmUchvgpyFUSytfXM=; b=aF36n+DF7ao6QyGANf8koPZ/42WkKUz/tsyPKvqzVoXuy6JfKxBXRplLX4LmBzWIkW Y6TOKeczCyd2/OQGQPC2PJYl9OOBpM2UA6K6WVT4gQisUY8zy4td6Sn9L8AEs0u7aY+J UgpbQRAsoAzCgfkPgMKnQHy1dlV3WOkfbONK1p0WI6X0LnHZ+6sP5ysLVTkBzfRLfwwd zfmQ/i6YUbYYP0u0KFnk6WekRqU/EgGAVPRdP8p574NoQSTMc3LnhEbPpcdVXKrCH4ce ualL0WOyuIbsGg18DRtzXdm9QAOBhc6P4xFBDi/lSnkE9invFKHyFFDsjmaItdKWJEGL cFTQ== X-Gm-Message-State: AGRZ1gKL6l375d7DK05jUzHXxVuaaidvF1p+BFOijhYanWAKBvp9fQD+ lgh1D3ZIOXpnXzbOeTsEIUE= X-Google-Smtp-Source: AJdET5cKf8gmgSpRx/6kc5o5OnaBzxQeeynqnKtcPoQhHhD9IF3rekjTDnbGLUMB48DOXiXEOV+gyA== X-Received: by 2002:a1c:bc82:: with SMTP id m124-v6mr6139966wmf.47.1541417743609; Mon, 05 Nov 2018 03:35:43 -0800 (PST) Received: from kheib-workstation.redhat.com ([192.116.94.216]) by smtp.gmail.com with ESMTPSA id z18-v6sm10762147wru.83.2018.11.05.03.35.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 05 Nov 2018 03:35:43 -0800 (PST) From: Kamal Heib To: Doug Ledford , Jason Gunthorpe Cc: linux-rdma@vger.kernel.org, kamalheib1@gmail.com Subject: [PATCH rdma-next v3 00/20] RDMA: Add support for ib_device_ops Date: Mon, 5 Nov 2018 13:35:08 +0200 Message-Id: <20181105113528.8317-1-kamalheib1@gmail.com> X-Mailer: git-send-email 2.14.5 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 patchset introduce a new structure that will contain all the infiniband device operations, the structure will be used by the providers to initialize their supported operations. This patchset also includes the required changes in the core and ulps to start using it. Changes from v2: * Sort the operations based on logical groups. * Add patch 18 for fixing rvt_create_ah prototype. * Add patch 19 for initialize ib_device_ops struct. Changes from V1: * Rebase. * Constify the ib_device_ops. * Remove vertical white spaces. * Clang-format ib_device_ops struct. * Return the descriptive comments into ib_device_ops struct. * Move the assignment of the ib_device operations to the last patch in the patchset. * Remove the existing method assignment at the same time of initializing the ib_device_ops. Thanks, Kamal Kamal Heib (20): RDMA/core: Introduce ib_device_ops RDMA/bnxt_re: Initialize ib_device_ops struct RDMA/cxgb3: Initialize ib_device_ops struct RDMA/cxgb4: Initialize ib_device_ops struct RDMA/hfi1: Initialize ib_device_ops struct RDMA/hns: Initialize ib_device_ops struct RDMA/i40iw: Initialize ib_device_ops struct RDMA/mlx4: Initialize ib_device_ops struct RDMA/mlx5: Initialize ib_device_ops struct RDMA/mthca: Initialize ib_device_ops struct RDMA/nes: Initialize ib_device_ops struct RDMA/ocrdma: Initialize ib_device_ops struct RDMA/qedr: Initialize ib_device_ops struct RDMA/qib: Initialize ib_device_ops struct RDMA/usnic: Initialize ib_device_ops struct RDMA/vmw_pvrdma: Initialize ib_device_ops struct RDMA/rxe: Initialize ib_device_ops struct RDMA/rdmavt: Fix rvt_create_ah prototype RDMA/rdmavt: Initialize ib_device_ops struct RDMA: Start use ib_device_ops drivers/infiniband/core/cache.c | 12 +- drivers/infiniband/core/core_priv.h | 12 +- drivers/infiniband/core/cq.c | 6 +- drivers/infiniband/core/device.c | 136 ++++- drivers/infiniband/core/fmr_pool.c | 4 +- drivers/infiniband/core/mad.c | 24 +- drivers/infiniband/core/nldev.c | 4 +- drivers/infiniband/core/opa_smi.h | 4 +- drivers/infiniband/core/rdma_core.c | 6 +- drivers/infiniband/core/security.c | 8 +- drivers/infiniband/core/smi.h | 4 +- drivers/infiniband/core/sysfs.c | 28 +- drivers/infiniband/core/ucm.c | 2 +- drivers/infiniband/core/uverbs_cmd.c | 64 +-- drivers/infiniband/core/uverbs_main.c | 14 +- drivers/infiniband/core/uverbs_std_types.c | 2 +- .../infiniband/core/uverbs_std_types_counters.c | 10 +- drivers/infiniband/core/uverbs_std_types_cq.c | 4 +- drivers/infiniband/core/uverbs_std_types_dm.c | 6 +- .../infiniband/core/uverbs_std_types_flow_action.c | 14 +- drivers/infiniband/core/uverbs_std_types_mr.c | 4 +- drivers/infiniband/core/verbs.c | 149 +++--- drivers/infiniband/hw/bnxt_re/main.c | 107 ++-- drivers/infiniband/hw/cxgb3/iwch_provider.c | 75 +-- drivers/infiniband/hw/cxgb4/provider.c | 86 ++-- drivers/infiniband/hw/hfi1/verbs.c | 23 +- drivers/infiniband/hw/hns/hns_roce_device.h | 1 + drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 13 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 13 + drivers/infiniband/hw/hns/hns_roce_main.c | 112 +++-- drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 76 +-- drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- drivers/infiniband/hw/mlx4/main.c | 191 ++++--- drivers/infiniband/hw/mlx5/main.c | 237 +++++---- drivers/infiniband/hw/mthca/mthca_provider.c | 151 ++++-- drivers/infiniband/hw/nes/nes_cm.c | 2 +- drivers/infiniband/hw/nes/nes_verbs.c | 77 +-- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 102 ++-- drivers/infiniband/hw/qedr/main.c | 114 +++-- drivers/infiniband/hw/qib/qib_verbs.c | 10 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 71 +-- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 92 ++-- drivers/infiniband/sw/rdmavt/ah.c | 4 +- drivers/infiniband/sw/rdmavt/ah.h | 3 +- drivers/infiniband/sw/rdmavt/vt.c | 312 +++--------- drivers/infiniband/sw/rxe/rxe_verbs.c | 102 ++-- drivers/infiniband/ulp/ipoib/ipoib_main.c | 12 +- drivers/infiniband/ulp/iser/iser_memory.c | 4 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 8 +- drivers/infiniband/ulp/srp/ib_srp.c | 6 +- fs/cifs/smbdirect.c | 2 +- include/rdma/ib_verbs.h | 546 ++++++++++----------- net/rds/ib.c | 4 +- net/sunrpc/xprtrdma/fmr_ops.c | 2 +- 55 files changed, 1654 insertions(+), 1425 deletions(-)