[IBAL, HW] Remove pointers from ci_umv_buf_t.
[mirror/winof/.git] / hw / mthca / user / mlnx_ual_mrw.c
1 /*\r
2  * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
3  * Copyright (c) 2004-2005 Mellanox Technologies, Inc. All rights reserved. \r
4  * Portions Copyright (c) 2008 Microsoft Corporation.  All rights reserved.\r
5  *\r
6  * This software is available to you under the OpenIB.org BSD license\r
7  * below:\r
8  *\r
9  *     Redistribution and use in source and binary forms, with or\r
10  *     without modification, are permitted provided that the following\r
11  *     conditions are met:\r
12  *\r
13  *      - Redistributions of source code must retain the above\r
14  *        copyright notice, this list of conditions and the following\r
15  *        disclaimer.\r
16  *\r
17  *      - Redistributions in binary form must reproduce the above\r
18  *        copyright notice, this list of conditions and the following\r
19  *        disclaimer in the documentation and/or other materials\r
20  *        provided with the distribution.\r
21  *\r
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
23  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
24  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
25  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
26  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
27  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
28  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
29  * SOFTWARE.\r
30  *\r
31  * $Id$\r
32  */\r
33 \r
34 #include "mlnx_ual_main.h"\r
35 #if defined(EVENT_TRACING)\r
36 #include "mlnx_ual_mrw.tmh"\r
37 #endif\r
38 \r
39 \r
40 \r
41 static ib_api_status_t\r
42 __pre_register_mr (\r
43     IN          const ib_pd_handle_t            h_uvp_pd,\r
44     IN          const ib_mr_create_t            *p_mr_create,\r
45     IN OUT      ci_umv_buf_t                    *p_umv_buf,\r
46        OUT      ib_mr_handle_t                          *ph_uvp_mr)\r
47 {\r
48     UNREFERENCED_PARAMETER(ph_uvp_mr);\r
49         \r
50     UVP_ENTER(UVP_DBG_SHIM);\r
51     CL_ASSERT(p_umv_buf);\r
52     p_umv_buf->p_inout_buf = 0;\r
53     p_umv_buf->input_size = 0;\r
54     p_umv_buf->output_size = 0;\r
55 \r
56     UVP_EXIT(UVP_DBG_SHIM);\r
57     return IB_SUCCESS;\r
58 }\r
59 \r
60 \r
61 static void\r
62 __post_register_mr (\r
63     IN          const ib_pd_handle_t    h_uvp_pd,\r
64     IN          ib_api_status_t                 ioctl_status,\r
65     IN          const uint32_t                  *p_lkey,\r
66     IN          const uint32_t                  *p_rkey,\r
67     IN OUT      const ib_mr_handle_t    *ph_uvp_mr,\r
68     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
69 {\r
70     UVP_ENTER(UVP_DBG_SHIM);\r
71     UVP_EXIT(UVP_DBG_SHIM);\r
72     return;\r
73 }\r
74 \r
75 \r
76 static ib_api_status_t\r
77 __pre_query_mr (\r
78     IN          const ib_mr_handle_t    h_uvp_mr,\r
79     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
80 {\r
81     UVP_ENTER(UVP_DBG_SHIM);\r
82     CL_ASSERT(p_umv_buf);\r
83     p_umv_buf->p_inout_buf = 0;\r
84     p_umv_buf->input_size = 0;\r
85     p_umv_buf->output_size = 0;\r
86 \r
87     UVP_EXIT(UVP_DBG_SHIM);\r
88     return IB_SUCCESS;\r
89 }\r
90 \r
91 \r
92 static void\r
93 __post_query_mr (\r
94     IN          const ib_mr_handle_t    h_uvp_mr,\r
95     IN          ib_api_status_t                 ioctl_status,\r
96     IN          const ib_mr_attr_t              *p_mr_query,\r
97     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
98 {\r
99     UVP_ENTER(UVP_DBG_SHIM);\r
100     UVP_EXIT(UVP_DBG_SHIM);\r
101     return;\r
102 }\r
103 \r
104 \r
105 static ib_api_status_t\r
106 __pre_modify_mr (\r
107     IN          const ib_mr_handle_t    h_uvp_mr,\r
108     IN          const ib_pd_handle_t    h_uvp_pd        OPTIONAL,\r
109     IN          const ib_mr_mod_t               mr_mod_mask,\r
110     IN          const ib_mr_create_t            *p_mr_create    OPTIONAL,\r
111     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
112 {\r
113     UVP_ENTER(UVP_DBG_SHIM);\r
114     CL_ASSERT(p_umv_buf);\r
115     p_umv_buf->p_inout_buf = 0;\r
116     p_umv_buf->input_size = 0;\r
117     p_umv_buf->output_size = 0;\r
118 \r
119     UVP_EXIT(UVP_DBG_SHIM);\r
120     return IB_SUCCESS;\r
121 }\r
122 \r
123 \r
124 static void\r
125 __post_modify_mr (\r
126     IN          const ib_mr_handle_t    h_uvp_mr,\r
127     IN          const ib_pd_handle_t    h_uvp_pd        OPTIONAL,\r
128     IN          ib_api_status_t                 ioctl_status,\r
129     IN          const uint32_t                  *p_lkey,\r
130     IN          const uint32_t                  *p_rkey,\r
131     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
132 {\r
133     UVP_ENTER(UVP_DBG_SHIM);\r
134     UVP_EXIT(UVP_DBG_SHIM);\r
135     return;\r
136 }\r
137 \r
138 \r
139 static ib_api_status_t\r
140 __pre_register_smr (\r
141     IN          const ib_pd_handle_t    h_uvp_pd,\r
142     IN          const ib_mr_handle_t    h_uvp_mr,\r
143     IN          const ib_access_t               access_ctrl,\r
144     IN          void                            *p_vaddr,\r
145     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
146 {\r
147     UVP_ENTER(UVP_DBG_SHIM);\r
148     CL_ASSERT(p_umv_buf);\r
149     p_umv_buf->p_inout_buf = 0;\r
150     p_umv_buf->input_size = 0;\r
151     p_umv_buf->output_size = 0;\r
152 \r
153     UVP_EXIT(UVP_DBG_SHIM);\r
154     return IB_SUCCESS;\r
155 }\r
156 \r
157 \r
158 static void\r
159 __post_register_smr (\r
160     IN          const ib_pd_handle_t    h_uvp_pd,\r
161     IN          const ib_mr_handle_t    h_uvp_mr,\r
162     IN          ib_api_status_t                 ioctl_status,\r
163     IN          const void                      *p_vaddr,\r
164     IN          const uint32_t                  *p_lkey,\r
165     IN          const uint32_t                  *p_rkey,\r
166     OUT         const ib_mr_handle_t    *ph_uvp_smr,\r
167     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
168 {\r
169     UVP_ENTER(UVP_DBG_SHIM);\r
170     UVP_EXIT(UVP_DBG_SHIM);\r
171     return;\r
172 }\r
173 \r
174 \r
175 static ib_api_status_t\r
176 __pre_deregister_mr (\r
177     IN          const ib_mr_handle_t            h_uvp_mr,\r
178     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
179 {\r
180     UVP_ENTER(UVP_DBG_SHIM);\r
181     UVP_EXIT(UVP_DBG_SHIM);\r
182     return IB_SUCCESS;\r
183 }\r
184 \r
185 \r
186 static void\r
187 __post_deregister_mr (\r
188     IN          const ib_mr_handle_t            h_uvp_mr,\r
189     IN OUT      ci_umv_buf_t                    *p_umv_buf)\r
190 {\r
191     UVP_ENTER(UVP_DBG_SHIM);\r
192     UVP_EXIT(UVP_DBG_SHIM);\r
193     return;\r
194 }\r
195 \r
196 void\r
197 mlnx_get_mrw_interface (\r
198     IN OUT      uvp_interface_t         *p_uvp )\r
199 {\r
200     UVP_ENTER(UVP_DBG_SHIM);\r
201 \r
202     CL_ASSERT(p_uvp);\r
203 \r
204     /*\r
205      * Memory Management Verbs\r
206      */\r
207 //    p_uvp->pre_register_mr    = NULL;\r
208 //    p_uvp->post_register_mr   = NULL;\r
209 //    p_uvp->pre_query_mr       = NULL;\r
210 //    p_uvp->post_query_mr      = NULL;\r
211 //    p_uvp->pre_deregister_mr  = NULL;\r
212 //    p_uvp->post_deregister_mr = NULL;\r
213 //    p_uvp->pre_modify_mr      = NULL;\r
214 //    p_uvp->post_modify_mr     = NULL;\r
215 //    p_uvp->pre_register_smr   = NULL;\r
216 //    p_uvp->post_register_smr  = NULL;\r
217 \r
218     /*\r
219      * Memory Window Verbs\r
220      */\r
221         p_uvp->pre_create_mw    = NULL; // __pre_create_mw\r
222         p_uvp->post_create_mw = NULL;   // __post_create_mw\r
223         p_uvp->pre_query_mw     = NULL; // __pre_query_mw\r
224         p_uvp->post_query_mw    = NULL; // __post_query_mw\r
225         p_uvp->pre_destroy_mw = NULL;   // __pre_destroy_mw\r
226         p_uvp->post_destroy_mw = NULL;  // __post_destroy_mw\r
227 \r
228     /* register_pmr is not supported in user-mode */\r
229 \r
230     UVP_EXIT(UVP_DBG_SHIM);\r
231 }\r
232 \r