13318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris/* 23318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * Copyright (c) 2009-2010 Chelsio, Inc. All rights reserved. 33318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * 43318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * This software is available to you under a choice of one of two 53318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * licenses. You may choose to be licensed under the terms of the GNU 63318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * General Public License (GPL) Version 2, available from the file 73318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * COPYING in the main directory of this source tree, or the 83318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * OpenIB.org BSD license below: 93318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * 103318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * Redistribution and use in source and binary forms, with or 113318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * without modification, are permitted provided that the following 123318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * conditions are met: 133318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * 143318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * - Redistributions of source code must retain the above 153318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * copyright notice, this list of conditions and the following 163318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * disclaimer. 173318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * 183318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * - Redistributions in binary form must reproduce the above 193318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * copyright notice, this list of conditions and the following 203318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * disclaimer in the documentation and/or other materials 213318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * provided with the distribution. 223318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * 233318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 243318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 253318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 263318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 273318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 283318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 293318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 303318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * SOFTWARE. 313318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris */ 323318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris#ifndef CXGB4_ABI_USER_H 333318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris#define CXGB4_ABI_USER_H 343318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris 353318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris#include <linux/types.h> 363318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris 373318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris#define C4IW_UVERBS_ABI_VERSION 3 383318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris 393318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris/* 403318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * Make sure that all structs defined in this file remain laid out so 413318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * that they pack the same way on 32-bit and 64-bit architectures (to 423318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * avoid incompatibility between 32-bit userspace and 64-bit kernels). 433318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * In particular do not use pointer types -- pass pointers in __u64 443318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris * instead. 453318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris */ 463318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferrisstruct c4iw_create_cq_resp { 473318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 key; 483318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 gts_key; 493318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 memsize; 503318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 cqid; 513318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 size; 523318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 qid_mask; 533318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 reserved; /* explicit padding (optional for i386) */ 543318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris}; 553318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris 563318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferrisenum { 573318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris C4IW_QPF_ONCHIP = (1 << 0) 583318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris}; 593318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris 603318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferrisstruct c4iw_create_qp_resp { 613318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 ma_sync_key; 623318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 sq_key; 633318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 rq_key; 643318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 sq_db_gts_key; 653318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 rq_db_gts_key; 663318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 sq_memsize; 673318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 rq_memsize; 683318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 sqid; 693318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 rqid; 703318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 sq_size; 713318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 rq_size; 723318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 qid_mask; 733318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 flags; 743318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris}; 753318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris 763318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferrisstruct c4iw_alloc_ucontext_resp { 773318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u64 status_page_key; 783318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 status_page_size; 793318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris __u32 reserved; /* explicit padding (optional for i386) */ 803318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris}; 813318540b58f2d22ddaf211f3c8887785372e4e28Christopher Ferris#endif /* CXGB4_ABI_USER_H */ 82