From owner-svn-src-projects@freebsd.org Mon Feb 19 12:52:19 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EE53AF23CF9 for ; Mon, 19 Feb 2018 12:52:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9F0D473C8C; Mon, 19 Feb 2018 12:52:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9A0FE1ACD5; Mon, 19 Feb 2018 12:52:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w1JCqIq3073854; Mon, 19 Feb 2018 12:52:18 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w1JCqIKM073848; Mon, 19 Feb 2018 12:52:18 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201802191252.w1JCqIKM073848@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 19 Feb 2018 12:52:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r329575 - in projects/bsd_rdma_4_9_stable_11/sys: amd64/conf conf dev/mthca i386/conf modules modules/mthca ofed/include/uapi/rdma X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9_stable_11/sys: amd64/conf conf dev/mthca i386/conf modules modules/mthca ofed/include/uapi/rdma X-SVN-Commit-Revision: 329575 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Feb 2018 12:52:19 -0000 Author: hselasky Date: Mon Feb 19 12:52:17 2018 New Revision: 329575 URL: https://svnweb.freebsd.org/changeset/base/329575 Log: MFC r329222: Import the mthca kernel side infiniband driver from Linux 4.9 and fix compilation under FreeBSD. The mthca driver was temporarily removed as part of the Linux 4.9 RoCE/infinband upgrade. Top commit in Linux source tree: 69973b830859bc6529a7a0468ba0d80ee5117826 Sponsored by: Mellanox Technologies Added: projects/bsd_rdma_4_9_stable_11/sys/dev/mthca/ - copied from r329222, head/sys/dev/mthca/ projects/bsd_rdma_4_9_stable_11/sys/modules/mthca/ - copied from r329222, head/sys/modules/mthca/ projects/bsd_rdma_4_9_stable_11/sys/ofed/include/uapi/rdma/mthca-abi.h - copied unchanged from r329222, head/sys/ofed/include/uapi/rdma/mthca-abi.h Modified: projects/bsd_rdma_4_9_stable_11/sys/amd64/conf/NOTES projects/bsd_rdma_4_9_stable_11/sys/conf/files projects/bsd_rdma_4_9_stable_11/sys/i386/conf/NOTES projects/bsd_rdma_4_9_stable_11/sys/modules/Makefile Directory Properties: projects/bsd_rdma_4_9_stable_11/ (props changed) Modified: projects/bsd_rdma_4_9_stable_11/sys/amd64/conf/NOTES ============================================================================== --- projects/bsd_rdma_4_9_stable_11/sys/amd64/conf/NOTES Mon Feb 19 12:47:59 2018 (r329574) +++ projects/bsd_rdma_4_9_stable_11/sys/amd64/conf/NOTES Mon Feb 19 12:52:17 2018 (r329575) @@ -323,6 +323,7 @@ options DRM_DEBUG # Include debug printfs (slow) # Requires the iwn firmware module # ixl: Intel XL710 40Gbe PCIE Ethernet # ixlv: Intel XL710 40Gbe VF PCIE Ethernet +# mthca: Mellanox HCA InfiniBand # mlx4ib: Mellanox ConnectX HCA InfiniBand # mlx4en: Mellanox ConnectX HCA Ethernet # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) @@ -342,6 +343,7 @@ device iwn # Intel 4965/1000/5000/6000 wireless NICs device ixl # Intel XL710 40Gbe PCIE Ethernet options IXL_IW # Enable iWARP Client Interface in ixl(4) device ixlv # Intel XL710 40Gbe VF PCIE Ethernet +device mthca # Mellanox HCA InfiniBand device mlx4 # Shared code module between IB and Ethernet device mlx4ib # Mellanox ConnectX HCA InfiniBand device mlx4en # Mellanox ConnectX HCA Ethernet Modified: projects/bsd_rdma_4_9_stable_11/sys/conf/files ============================================================================== --- projects/bsd_rdma_4_9_stable_11/sys/conf/files Mon Feb 19 12:47:59 2018 (r329574) +++ projects/bsd_rdma_4_9_stable_11/sys/conf/files Mon Feb 19 12:52:17 2018 (r329575) @@ -4290,6 +4290,43 @@ ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp inet \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" +dev/mthca/mthca_allocator.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_av.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_catas.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_cmd.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_cq.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_eq.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_mad.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_main.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_mcg.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_memfree.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_mr.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_pd.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_profile.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_provider.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_qp.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_reset.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_srq.c optional mthca pci ofed \ + compile-with "${OFED_C}" +dev/mthca/mthca_uar.c optional mthca pci ofed \ + compile-with "${OFED_C}" + dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c optional mlx4ib pci ofed \ compile-with "${OFED_C}" dev/mlx4/mlx4_ib/mlx4_ib_mcg.c optional mlx4ib pci ofed \ Modified: projects/bsd_rdma_4_9_stable_11/sys/i386/conf/NOTES ============================================================================== --- projects/bsd_rdma_4_9_stable_11/sys/i386/conf/NOTES Mon Feb 19 12:47:59 2018 (r329574) +++ projects/bsd_rdma_4_9_stable_11/sys/i386/conf/NOTES Mon Feb 19 12:52:17 2018 (r329575) @@ -580,6 +580,7 @@ hint.mse.0.irq="5" # iwn: Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn # 802.11 network adapters # Requires the iwn firmware module +# mthca: Mellanox HCA InfiniBand # mlx4ib: Mellanox ConnectX HCA InfiniBand # mlx4en: Mellanox ConnectX HCA Ethernet # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) @@ -625,6 +626,7 @@ hint.le.0.at="isa" hint.le.0.port="0x280" hint.le.0.irq="10" hint.le.0.drq="0" +device mthca # Mellanox HCA InfiniBand device mlx4 # Shared code module between IB and Ethernet device mlx4ib # Mellanox ConnectX HCA InfiniBand device mlx4en # Mellanox ConnectX HCA Ethernet Modified: projects/bsd_rdma_4_9_stable_11/sys/modules/Makefile ============================================================================== --- projects/bsd_rdma_4_9_stable_11/sys/modules/Makefile Mon Feb 19 12:47:59 2018 (r329574) +++ projects/bsd_rdma_4_9_stable_11/sys/modules/Makefile Mon Feb 19 12:52:17 2018 (r329575) @@ -261,6 +261,7 @@ SUBDIR= \ msdosfs_iconv \ ${_mse} \ msk \ + ${_mthca} \ mvs \ mwl \ ${_mwlfw} \ @@ -674,6 +675,7 @@ _mlx4en= mlx4en _mlx5en= mlx5en .endif .if ${MK_OFED} != "no" || defined(ALL_MODULES) +_mthca= mthca _mlx4ib= mlx4ib _mlx5ib= mlx5ib .endif Copied: projects/bsd_rdma_4_9_stable_11/sys/ofed/include/uapi/rdma/mthca-abi.h (from r329222, head/sys/ofed/include/uapi/rdma/mthca-abi.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bsd_rdma_4_9_stable_11/sys/ofed/include/uapi/rdma/mthca-abi.h Mon Feb 19 12:52:17 2018 (r329575, copy of r329222, head/sys/ofed/include/uapi/rdma/mthca-abi.h) @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2005 Topspin Communications. All rights reserved. + * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef MTHCA_ABI_USER_H +#define MTHCA_ABI_USER_H + +#include + +/* + * Increment this value if any changes that break userspace ABI + * compatibility are made. + */ +#define MTHCA_UVERBS_ABI_VERSION 1 + +/* + * Make sure that all structs defined in this file remain laid out so + * that they pack the same way on 32-bit and 64-bit architectures (to + * avoid incompatibility between 32-bit userspace and 64-bit kernels). + * In particular do not use pointer types -- pass pointers in __u64 + * instead. + */ +struct mthca_alloc_ucontext_resp { + __u32 qp_tab_size; + __u32 uarc_size; +}; + +struct mthca_alloc_pd_resp { + __u32 pdn; + __u32 reserved; +}; + +/* + * Mark the memory region with a DMA attribute that causes + * in-flight DMA to be flushed when the region is written to: + */ +#define MTHCA_MR_DMASYNC 0x1 + +struct mthca_reg_mr { + __u32 mr_attrs; + __u32 reserved; +}; + +struct mthca_create_cq { + __u32 lkey; + __u32 pdn; + __u64 arm_db_page; + __u64 set_db_page; + __u32 arm_db_index; + __u32 set_db_index; +}; + +struct mthca_create_cq_resp { + __u32 cqn; + __u32 reserved; +}; + +struct mthca_resize_cq { + __u32 lkey; + __u32 reserved; +}; + +struct mthca_create_srq { + __u32 lkey; + __u32 db_index; + __u64 db_page; +}; + +struct mthca_create_srq_resp { + __u32 srqn; + __u32 reserved; +}; + +struct mthca_create_qp { + __u32 lkey; + __u32 reserved; + __u64 sq_db_page; + __u64 rq_db_page; + __u32 sq_db_index; + __u32 rq_db_index; +}; +#endif /* MTHCA_ABI_USER_H */