Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

IB/mthca: Move user vendor structures

This patch moves mthca vendor's specific structures to
common UAPI folder which will be visible to all consumers.

These structures are used by user-space library driver
(libmthca) and currently manually copied to that library.

This move will allow cross-compile against these files and
simplify introduction of vendor specific data.

Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>

authored by

Leon Romanovsky and committed by
Doug Ledford
486f6095 c546b2a3

+113 -1
+1 -1
drivers/infiniband/hw/mthca/mthca_provider.c
··· 46 46 47 47 #include "mthca_dev.h" 48 48 #include "mthca_cmd.h" 49 - #include "mthca_user.h" 49 + #include <rdma/mthca-abi.h> 50 50 #include "mthca_memfree.h" 51 51 52 52 static void init_query_mad(struct ib_smp *mad)
+1
include/uapi/rdma/Kbuild
··· 11 11 header-y += cxgb4-abi.h 12 12 header-y += mlx4-abi.h 13 13 header-y += mlx5-abi.h 14 + header-y += mthca-abi.h 14 15 header-y += nes-abi.h 15 16 header-y += ocrdma-abi.h
+111
include/uapi/rdma/mthca-abi.h
··· 1 + /* 2 + * Copyright (c) 2005 Topspin Communications. All rights reserved. 3 + * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved. 4 + * 5 + * This software is available to you under a choice of one of two 6 + * licenses. You may choose to be licensed under the terms of the GNU 7 + * General Public License (GPL) Version 2, available from the file 8 + * COPYING in the main directory of this source tree, or the 9 + * OpenIB.org BSD license below: 10 + * 11 + * Redistribution and use in source and binary forms, with or 12 + * without modification, are permitted provided that the following 13 + * conditions are met: 14 + * 15 + * - Redistributions of source code must retain the above 16 + * copyright notice, this list of conditions and the following 17 + * disclaimer. 18 + * 19 + * - Redistributions in binary form must reproduce the above 20 + * copyright notice, this list of conditions and the following 21 + * disclaimer in the documentation and/or other materials 22 + * provided with the distribution. 23 + * 24 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 28 + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 29 + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 + * SOFTWARE. 32 + */ 33 + 34 + #ifndef MTHCA_ABI_USER_H 35 + #define MTHCA_ABI_USER_H 36 + 37 + #include <linux/types.h> 38 + 39 + /* 40 + * Increment this value if any changes that break userspace ABI 41 + * compatibility are made. 42 + */ 43 + #define MTHCA_UVERBS_ABI_VERSION 1 44 + 45 + /* 46 + * Make sure that all structs defined in this file remain laid out so 47 + * that they pack the same way on 32-bit and 64-bit architectures (to 48 + * avoid incompatibility between 32-bit userspace and 64-bit kernels). 49 + * In particular do not use pointer types -- pass pointers in __u64 50 + * instead. 51 + */ 52 + struct mthca_alloc_ucontext_resp { 53 + __u32 qp_tab_size; 54 + __u32 uarc_size; 55 + }; 56 + 57 + struct mthca_alloc_pd_resp { 58 + __u32 pdn; 59 + __u32 reserved; 60 + }; 61 + 62 + /* 63 + * Mark the memory region with a DMA attribute that causes 64 + * in-flight DMA to be flushed when the region is written to: 65 + */ 66 + #define MTHCA_MR_DMASYNC 0x1 67 + 68 + struct mthca_reg_mr { 69 + __u32 mr_attrs; 70 + __u32 reserved; 71 + }; 72 + 73 + struct mthca_create_cq { 74 + __u32 lkey; 75 + __u32 pdn; 76 + __u64 arm_db_page; 77 + __u64 set_db_page; 78 + __u32 arm_db_index; 79 + __u32 set_db_index; 80 + }; 81 + 82 + struct mthca_create_cq_resp { 83 + __u32 cqn; 84 + __u32 reserved; 85 + }; 86 + 87 + struct mthca_resize_cq { 88 + __u32 lkey; 89 + __u32 reserved; 90 + }; 91 + 92 + struct mthca_create_srq { 93 + __u32 lkey; 94 + __u32 db_index; 95 + __u64 db_page; 96 + }; 97 + 98 + struct mthca_create_srq_resp { 99 + __u32 srqn; 100 + __u32 reserved; 101 + }; 102 + 103 + struct mthca_create_qp { 104 + __u32 lkey; 105 + __u32 reserved; 106 + __u64 sq_db_page; 107 + __u64 rq_db_page; 108 + __u32 sq_db_index; 109 + __u32 rq_db_index; 110 + }; 111 + #endif /* MTHCA_ABI_USER_H */