Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
infiniband
hw
ocrdma
ocrdma_abi.h
Go to the documentation of this file.
1
/*******************************************************************
2
* This file is part of the Emulex RoCE Device Driver for *
3
* RoCE (RDMA over Converged Ethernet) adapters. *
4
* Copyright (C) 2008-2012 Emulex. All rights reserved. *
5
* EMULEX and SLI are trademarks of Emulex. *
6
* www.emulex.com *
7
* *
8
* This program is free software; you can redistribute it and/or *
9
* modify it under the terms of version 2 of the GNU General *
10
* Public License as published by the Free Software Foundation. *
11
* This program is distributed in the hope that it will be useful. *
12
* ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND *
13
* WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, *
14
* FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE *
15
* DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD *
16
* TO BE LEGALLY INVALID. See the GNU General Public License for *
17
* more details, a copy of which can be found in the file COPYING *
18
* included with this package. *
19
*
20
* Contact Information:
21
*
[email protected]
22
*
23
* Emulex
24
* 3333 Susan Street
25
* Costa Mesa, CA 92626
26
*******************************************************************/
27
28
#ifndef __OCRDMA_ABI_H__
29
#define __OCRDMA_ABI_H__
30
31
struct
ocrdma_alloc_ucontext_resp
{
32
u32
dev_id
;
33
u32
wqe_size
;
34
u32
max_inline_data
;
35
u32
dpp_wqe_size
;
36
u64
ah_tbl_page
;
37
u32
ah_tbl_len
;
38
u32
rsvd
;
39
u8
fw_ver
[32];
40
u32
rqe_size
;
41
u64
rsvd1
;
42
}
__packed
;
43
44
/* user kernel communication data structures. */
45
struct
ocrdma_alloc_pd_ureq
{
46
u64
rsvd1
;
47
}
__packed
;
48
49
struct
ocrdma_alloc_pd_uresp
{
50
u32
id
;
51
u32
dpp_enabled
;
52
u32
dpp_page_addr_hi
;
53
u32
dpp_page_addr_lo
;
54
u64
rsvd1
;
55
}
__packed
;
56
57
struct
ocrdma_create_cq_ureq
{
58
u32
dpp_cq
;
59
u32
rsvd
;
60
}
__packed
;
61
62
#define MAX_CQ_PAGES 8
63
struct
ocrdma_create_cq_uresp
{
64
u32
cq_id
;
65
u32
page_size
;
66
u32
num_pages
;
67
u32
max_hw_cqe
;
68
u64
page_addr
[
MAX_CQ_PAGES
];
69
u64
db_page_addr
;
70
u32
db_page_size
;
71
u32
phase_change
;
72
u64
rsvd1
;
73
u64
rsvd2
;
74
}
__packed
;
75
76
#define MAX_QP_PAGES 8
77
#define MAX_UD_AV_PAGES 8
78
79
struct
ocrdma_create_qp_ureq
{
80
u8
enable_dpp_cq
;
81
u8
rsvd
;
82
u16
dpp_cq_id
;
83
u32
rsvd1
;
84
};
85
86
struct
ocrdma_create_qp_uresp
{
87
u16
qp_id
;
88
u16
sq_dbid
;
89
u16
rq_dbid
;
90
u16
resv0
;
91
u32
sq_page_size
;
92
u32
rq_page_size
;
93
u32
num_sq_pages
;
94
u32
num_rq_pages
;
95
u64
sq_page_addr
[
MAX_QP_PAGES
];
96
u64
rq_page_addr
[
MAX_QP_PAGES
];
97
u64
db_page_addr
;
98
u32
db_page_size
;
99
u32
dpp_credit
;
100
u32
dpp_offset
;
101
u32
rsvd1
;
102
u32
num_wqe_allocated
;
103
u32
num_rqe_allocated
;
104
u32
db_sq_offset
;
105
u32
db_rq_offset
;
106
u32
db_shift
;
107
u64
rsvd2
;
108
u64
rsvd3
;
109
}
__packed
;
110
111
struct
ocrdma_create_srq_uresp
{
112
u16
rq_dbid
;
113
u16
resv0
;
114
u32
resv1
;
115
116
u32
rq_page_size
;
117
u32
num_rq_pages
;
118
119
u64
rq_page_addr
[
MAX_QP_PAGES
];
120
u64
db_page_addr
;
121
122
u32
db_page_size
;
123
u32
num_rqe_allocated
;
124
u32
db_rq_offset
;
125
u32
db_shift
;
126
127
u64
rsvd2
;
128
u64
rsvd3
;
129
}
__packed
;
130
131
#endif
/* __OCRDMA_ABI_H__ */
Generated on Thu Jan 10 2013 13:38:08 for Linux Kernel by
1.8.2