From patchwork Mon Dec 10 14:32:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamal Heib X-Patchwork-Id: 10721363 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 A558A1751 for ; Mon, 10 Dec 2018 14:33:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 937E92AAA2 for ; Mon, 10 Dec 2018 14:33:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9141F2AB35; Mon, 10 Dec 2018 14:33:18 +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 DC43E2AAA2 for ; Mon, 10 Dec 2018 14:33:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727705AbeLJOdQ (ORCPT ); Mon, 10 Dec 2018 09:33:16 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:36275 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726392AbeLJOdQ (ORCPT ); Mon, 10 Dec 2018 09:33:16 -0500 Received: by mail-wr1-f67.google.com with SMTP id u3so10733419wrs.3 for ; Mon, 10 Dec 2018 06:33:14 -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:mime-version :content-transfer-encoding; bh=0ww6kSbHWkm1DUoJY57y2b7P6w687cJkvYMqbadHAzM=; b=QOxcqx05UaGakpasvSqqkZdOl8nKS0CojbmayHsNvwlFapzAy4EzDdvrI/FuRAi2kZ 3y/LMONr7BgocirujAqdgy01iHp6q1xjcH7JLOXC7LXlrPZ+HOZJmWpKW6eG8Of3J89z uXkeYAb42DT0X7AJ5J+/HarZ8fefDNoDIsKIwtJi0HQYJ1fuoTndanDIUZ7WhOXBB3UW 2cIHEpWnsSQYDLbgZVgLTsoAXZXKHIumUqiSckQ6YPFUsPpxI4pSw3OY9Tz36pCyGXi2 TW6ZYUzNqIhiNzhcMzlmq47iI1eStmL3jyXlq6cbhHpJW1AencP/VENbl1ScRsNMyPHB IdcA== 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:mime-version :content-transfer-encoding; bh=0ww6kSbHWkm1DUoJY57y2b7P6w687cJkvYMqbadHAzM=; b=IQFTjUZQ8uUFd2H3n6wh2YBxdQP1GamrenJKMtcCtFy/pE+vHFX68JaB75ReGK7BNv cyzMy/K//cgeC1XX0+4jvZCAUujfYPiJybOjZL80Vu6s2IwmoE4LFKFP3d+akhtz5mYM Qfx38LV5LVQOZOVjaia40wowJRt9dIwyWG9e7a0hWPlBopyUCaD5XMIiofdOlYlrdfrj pZVeDUkQmFHXCKhDUzQMu9IGdhwLwgu9p4wEaEM3OC8uIoHLrtivC6f684WcRqT9AV4/ FWzfvFjfxI+xleNHHSLoraTdvQSH7h7eDJjPVjJ4BurP+QcAtXmJHTQ/ztdqvbiek5Aq KHtA== X-Gm-Message-State: AA+aEWZAJiwKLHSl14E+J0q9io/kM4tEfAezoY2JUju/FEE5OokIDyVz MBOOD1nAnDXJiGN7gZXD0so= X-Google-Smtp-Source: AFSGD/Vjh+X2l+ZgBk4uHFeI11SdHZFUgU9ekZy/ZR+HcGDpI0Pr4pGrVYaA5TD//FmvxtpI186xrQ== X-Received: by 2002:adf:f052:: with SMTP id t18mr10708196wro.112.1544452393427; Mon, 10 Dec 2018 06:33:13 -0800 (PST) Received: from kheib-workstation.redhat.com ([192.116.94.216]) by smtp.gmail.com with ESMTPSA id p74sm14279172wmd.29.2018.12.10.06.33.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Dec 2018 06:33:13 -0800 (PST) From: Kamal Heib To: Doug Ledford , Jason Gunthorpe Cc: linux-rdma@vger.kernel.org, kamalheib1@gmail.com Subject: [PATCH rdma-next v4 00/18] RDMA: Add support for ib_device_ops Date: Mon, 10 Dec 2018 16:32:20 +0200 Message-Id: <20181210143238.10775-1-kamalheib1@gmail.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 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 v3: * Rebase. * Sort the operations initialization alphabetically. * Rearrange the operation within the ib_device_ops structure so data path operations are located at the beginning of the struct. * This patch set now depend on a702f6ce0711 ("RDMA/rdmavt: Fix rvt_create_ah function signature"). 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 (18): 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: 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 | 211 ++++++------ 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 | 58 ++-- drivers/infiniband/core/uverbs_main.c | 14 +- drivers/infiniband/core/uverbs_std_types.c | 2 +- .../core/uverbs_std_types_counters.c | 10 +- drivers/infiniband/core/uverbs_std_types_cq.c | 6 +- drivers/infiniband/core/uverbs_std_types_dm.c | 6 +- .../core/uverbs_std_types_flow_action.c | 14 +- drivers/infiniband/core/uverbs_std_types_mr.c | 4 +- drivers/infiniband/core/verbs.c | 159 ++++----- drivers/infiniband/hw/bnxt_re/main.c | 96 +++--- drivers/infiniband/hw/cxgb3/iwch_provider.c | 64 ++-- drivers/infiniband/hw/cxgb4/provider.c | 74 +++-- drivers/infiniband/hw/hfi1/verbs.c | 18 +- drivers/infiniband/hw/hns/hns_roce_device.h | 2 + drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 11 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 18 ++ drivers/infiniband/hw/hns/hns_roce_main.c | 114 ++++--- drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 63 ++-- drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- drivers/infiniband/hw/mlx4/main.c | 178 +++++----- drivers/infiniband/hw/mlx5/main.c | 230 +++++++------ drivers/infiniband/hw/mthca/mthca_provider.c | 139 +++++--- drivers/infiniband/hw/nes/nes_cm.c | 2 +- drivers/infiniband/hw/nes/nes_verbs.c | 67 ++-- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 92 +++--- drivers/infiniband/hw/qedr/main.c | 103 +++--- drivers/infiniband/hw/qib/qib_verbs.c | 8 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 61 ++-- .../infiniband/hw/vmw_pvrdma/pvrdma_main.c | 82 ++--- drivers/infiniband/sw/rdmavt/vt.c | 299 ++++------------- drivers/infiniband/sw/rxe/rxe_verbs.c | 90 +++--- drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 +- drivers/infiniband/ulp/iser/iser_memory.c | 4 +- .../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 | 303 +----------------- include/rdma/uverbs_ioctl.h | 12 +- net/rds/ib.c | 4 +- net/sunrpc/xprtrdma/fmr_ops.c | 2 +- 54 files changed, 1227 insertions(+), 1531 deletions(-)