1cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise/* 2cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * Copyright (c) 2009-2010 Chelsio, Inc. All rights reserved. 3cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * 4cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * This software is available to you under a choice of one of two 5cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * licenses. You may choose to be licensed under the terms of the GNU 6cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * General Public License (GPL) Version 2, available from the file 7cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * COPYING in the main directory of this source tree, or the 8cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * OpenIB.org BSD license below: 9cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * 10cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * Redistribution and use in source and binary forms, with or 11cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * without modification, are permitted provided that the following 12cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * conditions are met: 13cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * 14cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * - Redistributions of source code must retain the above 15cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * copyright notice, this list of conditions and the following 16cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * disclaimer. 17cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * 18cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * - Redistributions in binary form must reproduce the above 19cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * copyright notice, this list of conditions and the following 20cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * disclaimer in the documentation and/or other materials 21cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * provided with the distribution. 22cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * 23cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 27cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 28cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 29cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 30cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * SOFTWARE. 31cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise */ 32cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise#ifndef __C4IW_USER_H__ 33cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise#define __C4IW_USER_H__ 34cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise 35cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise#define C4IW_UVERBS_ABI_VERSION 1 36cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise 37cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise/* 38cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * Make sure that all structs defined in this file remain laid out so 39cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * that they pack the same way on 32-bit and 64-bit architectures (to 40cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * avoid incompatibility between 32-bit userspace and 64-bit kernels). 41cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * In particular do not use pointer types -- pass pointers in __u64 42cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise * instead. 43cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise */ 44cfdda9d764362ab77b11a410bb928400e6520d57Steve Wisestruct c4iw_create_cq_resp { 45cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 key; 46cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 gts_key; 47cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 memsize; 48cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 cqid; 49cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 size; 50cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 qid_mask; 51cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise}; 52cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise 53c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wise 54c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wiseenum { 55c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wise C4IW_QPF_ONCHIP = (1<<0) 56c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wise}; 57c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wise 58cfdda9d764362ab77b11a410bb928400e6520d57Steve Wisestruct c4iw_create_qp_resp { 59c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wise __u64 ma_sync_key; 60cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 sq_key; 61cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 rq_key; 62cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 sq_db_gts_key; 63cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 rq_db_gts_key; 64cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 sq_memsize; 65cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u64 rq_memsize; 66cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 sqid; 67cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 rqid; 68cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 sq_size; 69cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 rq_size; 70cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise __u32 qid_mask; 71c6d7b26791a2aefdf97f2af1e93161ed05acd631Steve Wise __u32 flags; 72cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise}; 73cfdda9d764362ab77b11a410bb928400e6520d57Steve Wise#endif 74