![]() |
|
|||
0001 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */ 0002 /* 0003 * Copyright (c) 2009-2010 Chelsio, Inc. All rights reserved. 0004 * 0005 * This software is available to you under a choice of one of two 0006 * licenses. You may choose to be licensed under the terms of the GNU 0007 * General Public License (GPL) Version 2, available from the file 0008 * COPYING in the main directory of this source tree, or the 0009 * OpenIB.org BSD license below: 0010 * 0011 * Redistribution and use in source and binary forms, with or 0012 * without modification, are permitted provided that the following 0013 * conditions are met: 0014 * 0015 * - Redistributions of source code must retain the above 0016 * copyright notice, this list of conditions and the following 0017 * disclaimer. 0018 * 0019 * - Redistributions in binary form must reproduce the above 0020 * copyright notice, this list of conditions and the following 0021 * disclaimer in the documentation and/or other materials 0022 * provided with the distribution. 0023 * 0024 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 0025 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 0026 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 0027 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 0028 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 0029 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 0030 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 0031 * SOFTWARE. 0032 */ 0033 #ifndef CXGB4_ABI_USER_H 0034 #define CXGB4_ABI_USER_H 0035 0036 #include <linux/types.h> 0037 0038 #define C4IW_UVERBS_ABI_VERSION 3 0039 0040 /* 0041 * Make sure that all structs defined in this file remain laid out so 0042 * that they pack the same way on 32-bit and 64-bit architectures (to 0043 * avoid incompatibility between 32-bit userspace and 64-bit kernels). 0044 * In particular do not use pointer types -- pass pointers in __aligned_u64 0045 * instead. 0046 */ 0047 0048 enum { 0049 C4IW_64B_CQE = (1 << 0) 0050 }; 0051 0052 struct c4iw_create_cq { 0053 __u32 flags; 0054 __u32 reserved; 0055 }; 0056 0057 struct c4iw_create_cq_resp { 0058 __aligned_u64 key; 0059 __aligned_u64 gts_key; 0060 __aligned_u64 memsize; 0061 __u32 cqid; 0062 __u32 size; 0063 __u32 qid_mask; 0064 __u32 flags; 0065 }; 0066 0067 enum { 0068 C4IW_QPF_ONCHIP = (1 << 0), 0069 C4IW_QPF_WRITE_W_IMM = (1 << 1) 0070 }; 0071 0072 struct c4iw_create_qp_resp { 0073 __aligned_u64 ma_sync_key; 0074 __aligned_u64 sq_key; 0075 __aligned_u64 rq_key; 0076 __aligned_u64 sq_db_gts_key; 0077 __aligned_u64 rq_db_gts_key; 0078 __aligned_u64 sq_memsize; 0079 __aligned_u64 rq_memsize; 0080 __u32 sqid; 0081 __u32 rqid; 0082 __u32 sq_size; 0083 __u32 rq_size; 0084 __u32 qid_mask; 0085 __u32 flags; 0086 }; 0087 0088 struct c4iw_create_srq_resp { 0089 __aligned_u64 srq_key; 0090 __aligned_u64 srq_db_gts_key; 0091 __aligned_u64 srq_memsize; 0092 __u32 srqid; 0093 __u32 srq_size; 0094 __u32 rqt_abs_idx; 0095 __u32 qid_mask; 0096 __u32 flags; 0097 __u32 reserved; /* explicit padding */ 0098 }; 0099 0100 enum { 0101 /* HW supports SRQ_LIMIT_REACHED event */ 0102 T4_SRQ_LIMIT_SUPPORT = 1 << 0, 0103 }; 0104 0105 struct c4iw_alloc_ucontext_resp { 0106 __aligned_u64 status_page_key; 0107 __u32 status_page_size; 0108 __u32 reserved; /* explicit padding (optional for i386) */ 0109 }; 0110 0111 struct c4iw_alloc_pd_resp { 0112 __u32 pdid; 0113 }; 0114 0115 #endif /* CXGB4_ABI_USER_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |