Make address vectors work in user-mode. Components affected are UAL and UVP.
authorftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 2 Sep 2005 21:36:42 +0000 (21:36 +0000)
committerftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 2 Sep 2005 21:36:42 +0000 (21:36 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@56 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

16 files changed:
core/al/user/ual_ca.c
hw/mt23108/user/SOURCES
hw/mt23108/user/hca_data.h [moved from hw/mt23108/vapi/user/hca_data.h with 54% similarity]
hw/mt23108/user/mlnx_ual_av.c
hw/mt23108/user/mlnx_ual_ca.c
hw/mt23108/user/mlnx_ual_cq.c
hw/mt23108/user/mlnx_ual_errh.c [deleted file]
hw/mt23108/user/mlnx_ual_main.c
hw/mt23108/user/mlnx_ual_main.h
hw/mt23108/user/mlnx_ual_mcast.c
hw/mt23108/user/mlnx_ual_mrw.c
hw/mt23108/user/mlnx_ual_osbypass.c
hw/mt23108/user/mlnx_ual_pd.c
hw/mt23108/user/mlnx_ual_qp.c
hw/mt23108/vapi/user/SOURCES
inc/user/iba/ib_uvp.h

index c3f0801..e1648dd 100644 (file)
@@ -271,17 +271,13 @@ ual_query_ca(
        if( h_ca->obj.p_ci_ca->h_ci_ca && uvp_intf.pre_query_ca )\r
        {\r
                /* Pre call to the UVP library */\r
-               status = uvp_intf.pre_query_ca(\r
-                       h_ca->obj.p_ci_ca->h_ci_ca, &ca_ioctl );\r
+               status = uvp_intf.pre_query_ca( h_ca->obj.p_ci_ca->h_ci_ca,\r
+                       p_ca_attr, *p_size, &ca_ioctl.in.umv_buf );\r
 \r
                if( status != IB_SUCCESS )\r
                {\r
-                   if (ca_ioctl.out.status == IB_INSUFFICIENT_MEMORY )\r
-                   {\r
-                       *p_size = ca_ioctl.out.byte_cnt;\r
-                   }\r
-                   AL_EXIT( AL_DBG_CA );\r
-                   return status;\r
+                       AL_EXIT( AL_DBG_CA );\r
+                       return status;\r
                }\r
        }\r
 \r
index ed2b3d3..4740ea9 100644 (file)
@@ -14,7 +14,6 @@ SOURCES= \
        mlnx_ual_av.c \\r
        mlnx_ual_ca.c \\r
        mlnx_ual_cq.c \\r
-       mlnx_ual_errh.c \\r
        mlnx_ual_main.c \\r
        mlnx_ual_mcast.c \\r
        mlnx_ual_mrw.c \\r
similarity index 54%
rename from hw/mt23108/vapi/user/hca_data.h
rename to hw/mt23108/user/hca_data.h
index 8d13821..9efcea1 100644 (file)
 #include <iba/ib_uvp.h>\r
 \r
 \r
+typedef struct _ib_ca\r
+{\r
+       HH_hca_dev_t            *p_hca_ul_info;\r
+       void                            *p_hca_ul_resources;\r
+       ib_ca_attr_t            *p_hca_attr;\r
+       HHUL_hca_hndl_t         hhul_hca_hndl;\r
+       u_int32_t                       priv_op;\r
+       void                            *p_al_ci_ca;\r
+\r
+} mlnx_ual_hobul_t;\r
+\r
+\r
+typedef struct _ib_pd\r
+{\r
+       mlnx_ual_hobul_t        *p_hobul;\r
+       void                            *p_pd_ul_resources;\r
+       HHUL_pd_hndl_t          hhul_pd_hndl;\r
+       u_int32_t                       pd_idx;\r
+\r
+#define                MLNX_MAX_AVS_PER_PD             0xFFFFFFFF\r
+\r
+} mlnx_ual_pd_info_t;\r
+\r
+\r
+typedef struct _ib_cq\r
+{\r
+       mlnx_ual_hobul_t        *p_hobul; \r
+       void                            *p_cq_ul_resources;\r
+       HHUL_cq_hndl_t          hhul_cq_hndl;\r
+       u_int32_t                       cq_idx;\r
+       u_int32_t                       cq_size;\r
+\r
+} mlnx_ual_cq_info_t;\r
+\r
+\r
+typedef struct _ib_qp\r
+{\r
+       ib_pd_handle_t          h_uvp_pd; \r
+       void                            *p_qp_ul_resources;\r
+       HHUL_qp_hndl_t          hhul_qp_hndl;\r
+       u_int32_t                       qp_idx;\r
+       VAPI_qp_cap_t           ul_qp_cap;\r
+       IB_ts_t                         type;\r
+\r
+} mlnx_ual_qp_info_t;\r
+\r
+\r
+typedef struct _ib_mw\r
+{\r
+       ib_pd_handle_t          h_uvp_pd; \r
+       u_int32_t                       rkey;\r
+       HHUL_mw_hndl_t          hhul_mw_hndl;\r
+\r
+} mlnx_ual_mw_info_t;\r
+\r
+\r
 typedef struct _ib_av\r
 {\r
+       ib_pd_handle_t          h_uvp_pd; \r
+       ib_av_attr_t            *p_i_av_attr;\r
        HHUL_ud_av_hndl_t       h_av;\r
-};\r
+\r
+} mlnx_ual_av_info_t;\r
index 4102de6..6a82cd4 100644 (file)
@@ -134,7 +134,7 @@ map_itom_av_attr (
 \r
 ib_api_status_t\r
 mlnx_pre_create_av (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         const ib_av_attr_t              *p_av_attr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -214,7 +214,7 @@ mlnx_post_create_av (
            THHUL_pdm_create_ud_av (p_hobul->hhul_hca_hndl,\r
            p_pd_info->hhul_pd_hndl,\r
            &hhul_av,\r
-           &p_new_av->hhul_av_hndl))\r
+           &p_new_av->h_av))\r
        {\r
            CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
                ("FAILED to create usermode UD AV\n"));\r
@@ -224,7 +224,7 @@ mlnx_post_create_av (
 \r
        p_new_av->p_i_av_attr = p_av_attr;\r
        p_new_av->h_uvp_pd = h_uvp_pd;\r
-       *ph_uvp_av = (uvp_av_handle_t) p_new_av;\r
+       *ph_uvp_av = p_new_av;\r
        p_umv_buf->p_inout_buf = NULL;\r
     }\r
 \r
@@ -251,7 +251,7 @@ cleanup:
 \r
 ib_api_status_t\r
 mlnx_pre_query_av (\r
-       IN      const   uvp_av_handle_t         h_uvp_av,\r
+       IN      const   ib_av_handle_t          h_uvp_av,\r
        IN OUT          ci_umv_buf_t            *p_umv_buf )\r
 {\r
     FUNC_ENTER;\r
@@ -289,7 +289,7 @@ mlnx_post_query_av (
 \r
 ib_api_status_t\r
 mlnx_pre_modify_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av,\r
+    IN         const ib_av_handle_t            h_uvp_av,\r
     IN         const ib_av_attr_t              *p_addr_vector,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -313,7 +313,7 @@ mlnx_pre_modify_av (
 \r
        if (HH_OK !=\r
         THHUL_pdm_modify_ud_av (p_hobul->hhul_hca_hndl, \r
-                                p_av_info->hhul_av_hndl,\r
+                                p_av_info->h_av,\r
                                 &hhul_av))\r
     {\r
         CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
@@ -333,7 +333,7 @@ mlnx_pre_modify_av (
 \r
 void\r
 mlnx_post_modify_av (\r
-    IN         const uvp_av_handle_t   h_uvp_av,\r
+    IN         const ib_av_handle_t    h_uvp_av,\r
     IN         ib_api_status_t         ioctl_status,\r
     IN OUT     ci_umv_buf_t            *p_umv_buf)\r
 {\r
@@ -345,7 +345,7 @@ mlnx_post_modify_av (
 \r
 ib_api_status_t\r
 mlnx_pre_destroy_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av)\r
+    IN         const ib_av_handle_t            h_uvp_av)\r
 {\r
     FUNC_ENTER;\r
     FUNC_EXIT;\r
@@ -355,7 +355,7 @@ mlnx_pre_destroy_av (
 \r
 void\r
 mlnx_post_destroy_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av,\r
+    IN         const ib_av_handle_t            h_uvp_av,\r
     IN         ib_api_status_t                 ioctl_status)\r
 {\r
     mlnx_ual_hobul_t *p_hobul;\r
@@ -373,7 +373,7 @@ mlnx_post_destroy_av (
 \r
     if (HH_OK !=\r
         THHUL_pdm_destroy_ud_av (p_hobul->hhul_hca_hndl,\r
-                                 p_av_info->hhul_av_hndl))\r
+                                 p_av_info->h_av))\r
     {\r
         CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
                   ("Failed to destroy av\n"));\r
index 760f27b..2fa97d7 100644 (file)
@@ -132,74 +132,55 @@ mlnx_post_open_ca (
 \r
 ib_api_status_t\r
 mlnx_pre_query_ca (\r
-    IN uvp_ca_handle_t         h_uvp_ca,\r
-    IN OUT ual_query_ca_ioctl_t *p_ca_ioctl )\r
+       IN                              ib_ca_handle_t                          h_uvp_ca,\r
+       IN                              ib_ca_attr_t                            *p_ca_attr,\r
+       IN                              size_t                                          byte_count,\r
+       IN                              ci_umv_buf_t                            *p_umv_buf )\r
 {\r
-    ib_api_status_t status = IB_SUCCESS;\r
-    mlnx_ual_hobul_t *p_hobul = (mlnx_ual_hobul_t *)((void*)h_uvp_ca);\r
+       ib_api_status_t status = IB_SUCCESS;\r
 \r
-    FUNC_ENTER;\r
+       FUNC_ENTER;\r
 \r
-    CL_ASSERT(p_hobul);\r
-    CL_ASSERT(p_ca_ioctl);\r
+       CL_ASSERT(h_uvp_ca);\r
 \r
-    /* hca_ul_info should be filled up by open_ca() */\r
-    if ( p_hobul->p_hca_ul_info->status != HH_HCA_STATUS_OPENED )\r
-    {\r
-       CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
-           ("Device is not opened\n"));\r
-       status = IB_INVALID_CA_HANDLE;\r
-       return status;\r
-    }\r
-    /* first time call query_ca */\r
-    if ( !p_hobul->p_hca_attr )  \r
-    {\r
-       /* assume if user buffer is valid then byte_cnt is valid too \r
-        * so we can preallocate ca attr buffer for post ioctl data saving\r
-        */\r
-       if ( p_ca_ioctl->in.p_ca_attr != NULL )\r
+       /* hca_ul_info should be filled up by open_ca() */\r
+       if ( h_uvp_ca->p_hca_ul_info->status != HH_HCA_STATUS_OPENED )\r
        {\r
-           p_hobul->p_hca_attr = cl_zalloc(p_ca_ioctl->in.byte_cnt);\r
-           if (! p_hobul->p_hca_attr )\r
-           {\r
-              CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
-                           ("Failed to alloc new_ca\n"));\r
-              status = IB_INSUFFICIENT_RESOURCES;\r
-              return status;\r
-           }\r
-       }\r
-       p_ca_ioctl->in.umv_buf.input_size = sizeof(HH_hca_dev_t)+sizeof(u_int32_t);\r
-       if (p_ca_ioctl->in.umv_buf.input_size) \r
-       {       \r
-           p_ca_ioctl->in.umv_buf.output_size  = p_ca_ioctl->in.umv_buf.input_size; \r
-           p_ca_ioctl->in.umv_buf.p_inout_buf = cl_zalloc(p_ca_ioctl->in.umv_buf.input_size);\r
-           if (p_ca_ioctl->in.umv_buf.p_inout_buf == NULL) \r
-           {\r
                CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
-                      ("Failed to alloc priv buffer memory\n"));\r
-               status = IB_INSUFFICIENT_RESOURCES;\r
-           }\r
-        }\r
-    }\r
-    else\r
-    {\r
-       /* user query for attr size */\r
-       if ( ! p_ca_ioctl->in.p_ca_attr ) \r
-       {\r
-           p_ca_ioctl->out.byte_cnt = p_hobul->p_hca_attr->size;\r
-           status = IB_INSUFFICIENT_MEMORY;\r
-           p_ca_ioctl->out.status = status ;\r
+                       ("Device is not opened\n"));\r
+               status = IB_INVALID_CA_HANDLE;\r
+               return status;\r
        }\r
-       /* user query for ca attributes */\r
-       else\r
+       /*\r
+        * First time call query_ca - populate our internal cached attributes\r
+        * so we can access the GID table.  Note that query_ca calls *always*\r
+        * get their attributes from the kernel.\r
+        */\r
+       if ( !h_uvp_ca->p_hca_attr )\r
        {\r
-           cl_memcpy (p_ca_ioctl->in.p_ca_attr, p_hobul->p_hca_attr, \r
-                       min (p_ca_ioctl->in.byte_cnt, p_hobul->p_hca_attr->size ));\r
+               /*\r
+                * Assume if user buffer is valid then byte_cnt is valid too \r
+                * so we can preallocate ca attr buffer for post ioctl data saving\r
+                *\r
+                * Note that we squirel the buffer away into the umv_buf and only\r
+                * set it into the HCA if the query is successful.\r
+                */\r
+               if ( p_ca_attr != NULL )\r
+               {\r
+                       p_umv_buf->p_inout_buf = cl_zalloc(byte_count);\r
+                       if ( !p_umv_buf->p_inout_buf )\r
+                       {\r
+                               CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
+                                       ("Failed to alloc new_ca\n"));\r
+                               status = IB_INSUFFICIENT_RESOURCES;\r
+                               return status;\r
+                       }\r
+               }\r
+               p_umv_buf->input_size = p_umv_buf->output_size = 0;\r
        }\r
-    }\r
 \r
-    FUNC_EXIT;\r
-    return status;\r
+       FUNC_EXIT;\r
+       return status;\r
 }\r
 \r
 \r
@@ -211,41 +192,29 @@ mlnx_post_query_ca (
        IN                              size_t                                          byte_count,\r
        IN                              ci_umv_buf_t                            *p_umv_buf )\r
 {\r
-    mlnx_ual_hobul_t *p_hobul = (mlnx_ual_hobul_t *)((void*)h_uvp_ca);\r
+       FUNC_ENTER;\r
 \r
-    FUNC_ENTER;\r
+       CL_ASSERT(h_uvp_ca);\r
+       CL_ASSERT(p_umv_buf);\r
 \r
-    CL_ASSERT(p_hobul);\r
-    CL_ASSERT(p_umv_buf);\r
-\r
-    /* \r
-     * The umv_buf query is only done as part of open_ca().\r
-     * Verify that we performed a query before checking the results\r
-     */\r
-    if ((IB_SUCCESS == p_umv_buf->status) && (IB_SUCCESS == ioctl_status))\r
-    {\r
-       if ( p_ca_attr  && byte_count )\r
+       if ( ioctl_status == IB_SUCCESS && p_ca_attr &&\r
+               byte_count && !h_uvp_ca->p_hca_attr )\r
        {\r
-           cl_memcpy (p_hobul->p_hca_attr, p_ca_attr , byte_count );\r
-           CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl,\r
-               ("got ca_attr %d\n", byte_count));\r
+               h_uvp_ca->p_hca_attr = p_umv_buf->p_inout_buf;\r
+       }\r
+       else if (p_umv_buf->p_inout_buf) \r
+       {\r
+               cl_free (p_umv_buf->p_inout_buf);\r
        }\r
-    }\r
-\r
-    if (p_umv_buf->p_inout_buf) \r
-    {\r
-       cl_free (p_umv_buf->p_inout_buf);\r
-       p_umv_buf->p_inout_buf = NULL;\r
-    }\r
 \r
-    FUNC_EXIT;\r
-    return;\r
+       FUNC_EXIT;\r
+       return;\r
 }\r
 \r
 \r
 ib_api_status_t\r
 mlnx_pre_modify_ca (\r
-    IN         uvp_ca_handle_t                         h_uvp_ca,\r
+    IN         ib_ca_handle_t                          h_uvp_ca,\r
     IN         uint8_t                                         port_num,\r
     IN         ib_ca_mod_t                                     ca_mod,\r
     IN         const ib_port_attr_mod_t*       p_port_attr_mod)\r
@@ -258,7 +227,7 @@ mlnx_pre_modify_ca (
 \r
 void\r
 mlnx_post_modify_ca (\r
-    IN         uvp_ca_handle_t                 h_uvp_ca,\r
+    IN         ib_ca_handle_t                  h_uvp_ca,\r
     IN         ib_api_status_t                 ioctl_status)\r
 {\r
     FUNC_ENTER;\r
@@ -269,7 +238,7 @@ mlnx_post_modify_ca (
 \r
 ib_api_status_t\r
 mlnx_pre_close_ca (\r
-    IN         uvp_ca_handle_t         h_uvp_ca)\r
+    IN         ib_ca_handle_t          h_uvp_ca)\r
 {\r
     FUNC_ENTER;\r
     FUNC_EXIT;\r
@@ -279,7 +248,7 @@ mlnx_pre_close_ca (
 \r
 ib_api_status_t\r
 mlnx_post_close_ca (\r
-    IN         uvp_ca_handle_t         h_uvp_ca,\r
+    IN         ib_ca_handle_t          h_uvp_ca,\r
     IN         ib_api_status_t         ioctl_status )\r
 {\r
     mlnx_ual_hobul_t *p_hobul = (mlnx_ual_hobul_t *)((void*)h_uvp_ca);\r
index 4bfd1e2..8766be3 100644 (file)
@@ -235,7 +235,7 @@ mlnx_post_create_cq (
                sizeof (mlnx_ual_cq_info_t *));\r
        CL_ASSERT(p_new_cq);\r
 \r
-       *ph_uvp_cq = (uvp_cq_handle_t) p_new_cq;\r
+       *ph_uvp_cq = p_new_cq;\r
 \r
        if ( ioctl_status == IB_SUCCESS )\r
        {\r
@@ -354,7 +354,7 @@ mlnx_pre_resize_cq (
 \r
 void\r
 mlnx_post_resize_cq (\r
-    IN         const uvp_cq_handle_t                   h_uvp_cq,\r
+    IN         const ib_cq_handle_t                    h_uvp_cq,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         const uint32_t                          size,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf)\r
@@ -434,7 +434,7 @@ mlnx_post_resize_cq (
 \r
 ib_api_status_t\r
 mlnx_pre_query_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -447,7 +447,7 @@ mlnx_pre_query_cq (
 \r
 void\r
 mlnx_post_query_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN         ib_api_status_t                 ioctl_status,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -459,7 +459,7 @@ mlnx_post_query_cq (
 \r
 ib_api_status_t\r
 mlnx_pre_destroy_cq (\r
-    IN         const uvp_cq_handle_t                   h_uvp_cq)\r
+    IN         const ib_cq_handle_t                    h_uvp_cq)\r
 {\r
     FUNC_ENTER;\r
     FUNC_EXIT;\r
@@ -469,7 +469,7 @@ mlnx_pre_destroy_cq (
 \r
 void\r
 mlnx_post_destroy_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN         ib_api_status_t                 ioctl_status)\r
 {\r
     mlnx_ual_cq_info_t *p_cq_info = (mlnx_ual_cq_info_t *) ((void*)h_uvp_cq);\r
diff --git a/hw/mt23108/user/mlnx_ual_errh.c b/hw/mt23108/user/mlnx_ual_errh.c
deleted file mode 100644 (file)
index b4e52a6..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 2004-2005 Mellanox Technologies, Inc. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#include "mlnx_ual_main.h"\r
-\r
-extern u_int32_t       mlnx_dbg_lvl;\r
-\r
-void\r
-mlnx_get_errh_interface (\r
-    IN OUT     uvp_interface_t         *p_uvp )\r
-{\r
-    FUNC_ENTER;\r
-\r
-    CL_ASSERT(p_uvp);\r
-\r
-\r
-    /*\r
-     * Error notification\r
-     * If the vendor provides these functions, UAL will\r
-     * invoke these functions when a QP/CQ error is reported by AL.\r
-     * \r
-     */\r
-    p_uvp->err_handler = mlnx_err_handler;\r
-    \r
-    FUNC_EXIT;\r
-}\r
-\r
-\r
-void\r
-mlnx_err_handler (\r
-    IN const ib_async_event_rec_t              *const  p_err_rec)\r
-{\r
-    FUNC_ENTER;\r
-    FUNC_EXIT;\r
-}\r
-\r
-\r
index ae86834..d847f40 100644 (file)
@@ -157,21 +157,11 @@ uvp_get_interface (
      */\r
     mlnx_get_cq_interface (p_uvp);\r
 \r
-    /*\r
-     * EE Management\r
-     */\r
-//    mlnx_get_eec_interface (p_uvp);\r
-\r
     /*\r
      * AV Management\r
      */\r
     mlnx_get_av_interface(p_uvp);\r
 \r
-    /*\r
-     * RDD Management\r
-     */\r
-//    mlnx_get_rdd_interface(p_uvp);\r
-\r
     /*\r
      * Memory Region / Window Management Verbs\r
      */\r
@@ -182,14 +172,6 @@ uvp_get_interface (
      */\r
     mlnx_get_mcast_interface (p_uvp);\r
 \r
-    /*\r
-     * Error notification\r
-     * If the vendor provides these functions, UAL will\r
-     * invoke these functions when a QP/CQ error is reported by AL.\r
-     * \r
-     */\r
-    mlnx_get_errh_interface (p_uvp);\r
-\r
     /*\r
      * OS bypass (send, receive, poll/notify cq)\r
      */\r
index 06925c7..0c8a94e 100644 (file)
@@ -42,9 +42,7 @@
 #include <thhul_mwm.h>\r
 \r
 //#include <iba/ib_ci.h>\r
-#include <iba/ib_types.h>\r
-#include <iba/ib_uvp.h>\r
-#include <complib/cl_types.h>\r
+#include "hca_data.h"\r
 #include <complib/cl_debug.h>\r
 #include <complib/cl_byteswap.h>\r
 #include <complib/cl_memory.h>\r
 #define                MLNX_UAL_ALLOC_HCA_UL_RES       1\r
 #define                MLNX_UAL_FREE_HCA_UL_RES        2\r
 \r
-typedef void* __ptr64      uvp_ca_handle_t;\r
-typedef void* __ptr64      uvp_pd_handle_t;\r
-typedef void* __ptr64      uvp_av_handle_t;\r
-typedef void* __ptr64      uvp_cq_handle_t;\r
-typedef void* __ptr64      uvp_qp_handle_t;\r
-typedef void* __ptr64      uvp_mr_handle_t;\r
-typedef void* __ptr64      uvp_mw_handle_t;\r
-typedef void* __ptr64       uvp_mcast_handle_t;\r
-typedef void* __ptr64      uvp_rdd_handle_t;\r
-typedef void* __ptr64      uvp_eec_handle_t;\r
-\r
 typedef         unsigned __int3264            cl_dev_handle_t;\r
-typedef struct hobul {\r
-    HH_hca_dev_t               *p_hca_ul_info;\r
-    void                       *p_hca_ul_resources;\r
-    ib_ca_attr_t               *p_hca_attr;\r
-    HHUL_hca_hndl_t            hhul_hca_hndl;\r
-    u_int32_t                  priv_op;\r
-    void                       *p_al_ci_ca;\r
-} mlnx_ual_hobul_t;\r
-\r
-typedef struct pd_info {\r
-    mlnx_ual_hobul_t           *p_hobul;\r
-    void                       *p_pd_ul_resources;\r
-    HHUL_pd_hndl_t             hhul_pd_hndl;\r
-    u_int32_t                  pd_idx;\r
-#define                MLNX_MAX_AVS_PER_PD             0xFFFFFFFF\r
-} mlnx_ual_pd_info_t;\r
-\r
-typedef struct cq_info {\r
-    mlnx_ual_hobul_t           *p_hobul; \r
-    void                       *p_cq_ul_resources;\r
-    HHUL_cq_hndl_t             hhul_cq_hndl;\r
-    u_int32_t                  cq_idx;\r
-    u_int32_t                  cq_size;\r
-} mlnx_ual_cq_info_t;\r
-\r
-typedef struct qp_info {\r
-       uvp_pd_handle_t         h_uvp_pd; \r
-       void                            *p_qp_ul_resources;\r
-       HHUL_qp_hndl_t          hhul_qp_hndl;\r
-       u_int32_t                       qp_idx;\r
-       VAPI_qp_cap_t           ul_qp_cap;\r
-       IB_ts_t                         type;\r
-\r
-} mlnx_ual_qp_info_t;\r
-\r
-typedef struct av_info {\r
-    uvp_pd_handle_t            h_uvp_pd; \r
-    ib_av_attr_t               *p_i_av_attr;\r
-    HHUL_ud_av_hndl_t          hhul_av_hndl;\r
-} mlnx_ual_av_info_t;\r
-\r
-typedef struct mw_info {\r
-    uvp_pd_handle_t            h_uvp_pd; \r
-    u_int32_t                  rkey;\r
-    HHUL_mw_hndl_t             hhul_mw_hndl;\r
-} mlnx_ual_mw_info_t;\r
 \r
 \r
 /*\r
@@ -159,8 +100,10 @@ mlnx_post_open_ca (
 \r
 ib_api_status_t  \r
 mlnx_pre_query_ca (\r
-    IN         uvp_ca_handle_t                         h_uvp_ca,\r
-    IN OUT     ual_query_ca_ioctl_t                    *p_ca_ioctl );\r
+       IN                              ib_ca_handle_t                          h_uvp_ca,\r
+       IN                              ib_ca_attr_t                            *p_ca_attr,\r
+       IN                              size_t                                          byte_count,\r
+       IN                              ci_umv_buf_t                            *p_umv_buf );\r
 \r
 void  \r
 mlnx_post_query_ca (\r
@@ -172,23 +115,23 @@ mlnx_post_query_ca (
 \r
 ib_api_status_t  \r
 mlnx_pre_modify_ca (\r
-    IN         uvp_ca_handle_t                         h_uvp_ca,\r
+    IN         ib_ca_handle_t                          h_uvp_ca,\r
     IN         uint8_t                                 port_num,\r
     IN         ib_ca_mod_t                             modca_cmd,\r
     IN         const ib_port_attr_mod_t*       p_port_attr_mod );\r
 \r
 void  \r
 mlnx_post_modify_ca (\r
-    IN         uvp_ca_handle_t                         h_uvp_ca,\r
+    IN         ib_ca_handle_t                          h_uvp_ca,\r
     IN         ib_api_status_t                         ioctl_status);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_close_ca (\r
-    IN         uvp_ca_handle_t                         h_uvp_ca );\r
+    IN         ib_ca_handle_t                          h_uvp_ca );\r
 \r
 ib_api_status_t\r
 mlnx_post_close_ca (\r
-    IN         uvp_ca_handle_t                         h_uvp_ca,\r
+    IN         ib_ca_handle_t                          h_uvp_ca,\r
     IN         ib_api_status_t                         ioctl_status );\r
 \r
 \r
@@ -199,7 +142,7 @@ mlnx_get_pd_interface (
     \r
 ib_api_status_t  \r
 mlnx_pre_allocate_pd (\r
-    IN         const uvp_ca_handle_t           h_uvp_ca,\r
+    IN         const ib_ca_handle_t            h_uvp_ca,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
@@ -211,11 +154,11 @@ mlnx_post_allocate_pd (
 \r
 ib_api_status_t  \r
 mlnx_pre_deallocate_pd (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd);\r
+    IN         const ib_pd_handle_t            h_uvp_pd);\r
 \r
 void  \r
 mlnx_post_deallocate_pd (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         ib_api_status_t                 ioctl_status );\r
 \r
 \r
@@ -226,7 +169,7 @@ mlnx_get_av_interface (
 \r
 ib_api_status_t  \r
 mlnx_pre_create_av (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         const ib_av_attr_t                      *p_addr_vector,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
@@ -240,7 +183,7 @@ mlnx_post_create_av (
 \r
 ib_api_status_t  \r
 mlnx_pre_query_av (\r
-       IN      const           uvp_av_handle_t         h_uvp_av,\r
+       IN      const           ib_av_handle_t          h_uvp_av,\r
        IN OUT                  ci_umv_buf_t            *p_umv_buf );\r
 \r
 void  \r
@@ -253,23 +196,23 @@ mlnx_post_query_av (
 \r
 ib_api_status_t  \r
 mlnx_pre_modify_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av,\r
+    IN         const ib_av_handle_t            h_uvp_av,\r
     IN         const ib_av_attr_t                      *p_addr_vector,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_modify_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av,\r
+    IN         const ib_av_handle_t            h_uvp_av,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_destroy_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av);\r
+    IN         const ib_av_handle_t            h_uvp_av);\r
 \r
 void  \r
 mlnx_post_destroy_av (\r
-    IN         const uvp_av_handle_t           h_uvp_av,\r
+    IN         const ib_av_handle_t            h_uvp_av,\r
     IN         ib_api_status_t                 ioctl_status);\r
 \r
 \r
@@ -300,29 +243,29 @@ mlnx_pre_resize_cq (
 \r
 void  \r
 mlnx_post_resize_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         const uint32_t                          size,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_query_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_query_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_destroy_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq);\r
+    IN         const ib_cq_handle_t            h_uvp_cq);\r
 \r
 void  \r
 mlnx_post_destroy_cq (\r
-    IN         const uvp_cq_handle_t           h_uvp_cq,\r
+    IN         const ib_cq_handle_t            h_uvp_cq,\r
     IN         ib_api_status_t                 ioctl_status);\r
 \r
 /************* QP Management *************************/\r
@@ -332,7 +275,7 @@ mlnx_get_qp_interface (
 \r
 ib_api_status_t  \r
 mlnx_pre_create_qp (\r
-    IN         const   uvp_pd_handle_t         h_uvp_pd,// Fix me: if needed\r
+    IN         const   ib_pd_handle_t          h_uvp_pd,// Fix me: if needed\r
     IN         const   ib_qp_create_t          *p_create_attr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
@@ -345,35 +288,35 @@ mlnx_post_create_qp (
 \r
 ib_api_status_t  \r
 mlnx_pre_modify_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         const ib_qp_mod_t                       *p_modify_attr, // Fixme\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_modify_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_query_qp (\r
-    IN         uvp_qp_handle_t                         h_uvp_qp,\r
+    IN         ib_qp_handle_t                          h_uvp_qp,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_query_qp (\r
-    IN         uvp_qp_handle_t                         h_uvp_qp,\r
+    IN         ib_qp_handle_t                          h_uvp_qp,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         ib_qp_attr_t                            *p_query_attr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_destroy_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp);\r
+    IN         const ib_qp_handle_t            h_uvp_qp);\r
 \r
 void  \r
 mlnx_post_destroy_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         ib_api_status_t                 ioctl_status );\r
 \r
 /************* MR/MW Management *************************/\r
@@ -383,43 +326,43 @@ mlnx_get_mrw_interface (
 \r
 ib_api_status_t  \r
 mlnx_pre_register_mr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         const ib_mr_create_t            *p_mr_create,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_register_mr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         const uint32_t                          *p_lkey,\r
     IN         const uint32_t                          *p_rkey,\r
-    OUT                const uvp_mr_handle_t           *ph_uvp_mr,\r
+    OUT                const ib_mr_handle_t            *ph_uvp_mr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_query_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_query_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         const ib_mr_attr_t                      *p_mr_query,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_modify_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
-    IN         const uvp_pd_handle_t           h_uvp_pd                OPTIONAL,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd                OPTIONAL,\r
     IN         const ib_mr_mod_t                       mr_mod_mask,\r
     IN         const ib_mr_create_t            *p_mr_create    OPTIONAL,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_modify_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
-    IN         const uvp_pd_handle_t           h_uvp_pd        OPTIONAL,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd        OPTIONAL,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         const uint32_t                          *p_lkey,\r
     IN         const uint32_t                          *p_rkey,\r
@@ -427,36 +370,36 @@ mlnx_post_modify_mr (
 \r
 ib_api_status_t  \r
 mlnx_pre_register_smr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN         const ib_access_t                       access_ctrl,\r
     IN         void                                            *p_vaddr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_register_smr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN         const void                                      *p_vaddr,\r
     IN         const uint32_t                          *p_lkey,\r
     IN         const uint32_t                          *p_rkey,\r
-    OUT                const uvp_mr_handle_t           *ph_uvp_smr,\r
+    OUT                const ib_mr_handle_t            *ph_uvp_smr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_deregister_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_deregister_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_create_mw (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
@@ -469,7 +412,7 @@ mlnx_post_create_mw (
 \r
 ib_api_status_t  \r
 mlnx_pre_query_mw (\r
-    IN         const uvp_mw_handle_t           h_uvp_mw,\r
+    IN         const ib_mw_handle_t            h_uvp_mw,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
@@ -482,12 +425,12 @@ mlnx_post_query_mw (
 \r
 ib_api_status_t  \r
 mlnx_pre_destroy_mw (\r
-    IN         const uvp_mw_handle_t           h_uvp_mw);\r
+    IN         const ib_mw_handle_t            h_uvp_mw);\r
     // IN OUT  ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_destroy_mw (\r
-    IN         const uvp_mw_handle_t           h_uvp_mw,\r
+    IN         const ib_mw_handle_t            h_uvp_mw,\r
     IN         ib_api_status_t                 ioctl_status);\r
 \r
 \r
@@ -499,26 +442,26 @@ mlnx_get_mcast_interface (
 \r
 ib_api_status_t  \r
 mlnx_pre_attach_mcast (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         const ib_gid_t                          *p_mcast_gid,\r
     IN         const uint16_t                          mcast_lid,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_attach_mcast (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         ib_api_status_t                         ioctl_status,\r
-    OUT                uvp_mcast_handle_t                      *ph_mcast,\r
+    OUT                ib_mcast_handle_t                       *ph_mcast,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 ib_api_status_t  \r
 mlnx_pre_detach_mcast (\r
-    IN         uvp_mcast_handle_t                      h_uvp_mcast,\r
+    IN         ib_mcast_handle_t                       h_uvp_mcast,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
 void  \r
 mlnx_post_detach_mcast (\r
-    IN         uvp_mcast_handle_t                      h_uvp_mcast,\r
+    IN         ib_mcast_handle_t                       h_uvp_mcast,\r
     IN         ib_api_status_t                         ioctl_status,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
 \r
@@ -568,91 +511,4 @@ mlnx_peek_cq (
        IN              const   void*           __ptr64                 h_cq,\r
                OUT                     uint32_t* const                         p_n_cqes );\r
 \r
-/************* ERROR Handler *************************/\r
-void  \r
-mlnx_get_errh_interface (\r
-    IN OUT     uvp_interface_t                         *p_uvp );\r
-\r
-\r
-void  \r
-mlnx_err_handler (\r
-    IN         const ib_async_event_rec_t      *const  p_err_rec);\r
-\r
-/************* RDD Management *************************/\r
-void  \r
-mlnx_get_rdd_interface (\r
-    IN OUT     uvp_interface_t                         *p_uvp );\r
-\r
-ib_api_status_t  \r
-mlnx_pre_allocate_rdd (\r
-    IN         const uvp_ca_handle_t           h_uvp_ca,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-void  \r
-mlnx_post_allocate_rdd (\r
-    IN         const uvp_ca_handle_t           h_uvp_ca,\r
-    IN         ib_api_status_t                         ioctl_status,\r
-    OUT                uvp_rdd_handle_t                        *ph_uvp_rdd,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-ib_api_status_t  \r
-mlnx_pre_deallocate_rdd (\r
-    IN         const uvp_rdd_handle_t          h_uvp_rdd,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-void  \r
-mlnx_post_deallocate_rdd (\r
-    IN         const uvp_rdd_handle_t          h_uvp_rdd);\r
-\r
-/************* EEC Management *************************/\r
-#ifdef EEC_MANAGEMENT\r
-void  \r
-mlnx_get_eec_interface (\r
-    IN OUT     uvp_interface_t                         *p_uvp );\r
-\r
-ib_api_status_t  \r
-mlnx_pre_create_eec (\r
-    IN         const uvp_rdd_handle_t          h_uvp_rdd,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-void  \r
-mlnx_post_create_eec (\r
-    IN         const uvp_rdd_handle_t          h_uvp_rdd,\r
-    IN         ib_api_status_t                         ioctl_status,\r
-    OUT                uvp_eec_handle_t                        *p_uvp_eec,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-ib_api_status_t  \r
-mlnx_pre_query_eec (\r
-    IN         const uvp_eec_handle_t          h_uvp_eec,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-void  \r
-mlnx_post_query_eec (\r
-    IN         const uvp_eec_handle_t          h_uvp_eec,\r
-    IN         ib_api_status_t                         ioctl_status,\r
-    IN         ib_eec_attr_t                           *p_query_attr,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-ib_api_status_t  \r
-mlnx_pre_modify_eec (\r
-    IN         const uvp_eec_handle_t          h_uvp_eec,\r
-    IN         const ib_eec_mod_t                      *p_modify_attr,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-void  \r
-mlnx_post_modify_eec (\r
-    IN         const uvp_eec_handle_t          h_uvp_eec,\r
-    IN         ib_api_status_t                         ioctl_status,\r
-    IN OUT     ci_umv_buf_t                            *p_umv_buf);\r
-\r
-ib_api_status_t\r
-mlnx_pre_destroy_eec (\r
-    IN         const uvp_eec_handle_t          h_uvp_eec);\r
-\r
-void\r
-mlnx_post_destroy_eec (\r
-    IN         const uvp_eec_handle_t          h_uvp_eec);\r
-\r
-#endif // EEC_MANAGEMENT\r
 #endif\r
index 64edd02..f847f00 100644 (file)
@@ -57,7 +57,7 @@ mlnx_get_mcast_interface (
 \r
 ib_api_status_t\r
 mlnx_pre_attach_mcast (\r
-    IN const   uvp_qp_handle_t         h_uvp_qp,\r
+    IN const   ib_qp_handle_t          h_uvp_qp,\r
     IN const   ib_gid_t                        *p_mcast_gid,\r
     IN const   uint16_t                        mcast_lid,\r
     IN OUT             ci_umv_buf_t            *p_umv_buf)\r
@@ -79,9 +79,9 @@ mlnx_pre_attach_mcast (
 \r
 void\r
 mlnx_post_attach_mcast (\r
-    IN         const uvp_qp_handle_t   h_uvp_qp,\r
+    IN         const ib_qp_handle_t    h_uvp_qp,\r
     IN         ib_api_status_t                 ioctl_status,\r
-    OUT                uvp_mcast_handle_t              *ph_mcast,\r
+    OUT                ib_mcast_handle_t               *ph_mcast,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -93,7 +93,7 @@ mlnx_post_attach_mcast (
 \r
 ib_api_status_t\r
 mlnx_pre_detach_mcast (\r
-    IN         uvp_mcast_handle_t      h_uvp_mcast,\r
+    IN         ib_mcast_handle_t       h_uvp_mcast,\r
     IN OUT     ci_umv_buf_t            *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -111,7 +111,7 @@ mlnx_pre_detach_mcast (
 \r
 void\r
 mlnx_post_detach_mcast (\r
-    IN         uvp_mcast_handle_t      h_uvp_mcast,\r
+    IN         ib_mcast_handle_t       h_uvp_mcast,\r
     IN         ib_api_status_t         ioctl_status,\r
     IN OUT     ci_umv_buf_t            *p_umv_buf)\r
 {\r
index 1a8a184..2c0e808 100644 (file)
@@ -75,7 +75,7 @@ mlnx_get_mrw_interface (
 \r
 ib_api_status_t\r
 mlnx_pre_register_mr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         const ib_mr_create_t            *p_mr_create,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -92,11 +92,11 @@ mlnx_pre_register_mr (
 \r
 void\r
 mlnx_post_register_mr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         ib_api_status_t                 ioctl_status,\r
     IN         const uint32_t                  *p_lkey,\r
     IN         const uint32_t                  *p_rkey,\r
-    OUT                const uvp_mr_handle_t           *ph_uvp_mr,\r
+    OUT                const ib_mr_handle_t            *ph_uvp_mr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -107,7 +107,7 @@ mlnx_post_register_mr (
 \r
 ib_api_status_t\r
 mlnx_pre_query_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -123,7 +123,7 @@ mlnx_pre_query_mr (
 \r
 void\r
 mlnx_post_query_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN         ib_api_status_t                 ioctl_status,\r
     IN         const ib_mr_attr_t              *p_mr_query,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
@@ -136,8 +136,8 @@ mlnx_post_query_mr (
 \r
 ib_api_status_t\r
 mlnx_pre_modify_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
-    IN         const uvp_pd_handle_t           h_uvp_pd        OPTIONAL,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd        OPTIONAL,\r
     IN         const ib_mr_mod_t               mr_mod_mask,\r
     IN         const ib_mr_create_t            *p_mr_create    OPTIONAL,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
@@ -155,8 +155,8 @@ mlnx_pre_modify_mr (
 \r
 void\r
 mlnx_post_modify_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
-    IN         const uvp_pd_handle_t           h_uvp_pd        OPTIONAL,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd        OPTIONAL,\r
     IN         ib_api_status_t                 ioctl_status,\r
     IN         const uint32_t                  *p_lkey,\r
     IN         const uint32_t                  *p_rkey,\r
@@ -170,8 +170,8 @@ mlnx_post_modify_mr (
 \r
 ib_api_status_t\r
 mlnx_pre_register_smr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN         const ib_access_t               access_ctrl,\r
     IN         void                            *p_vaddr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
@@ -189,13 +189,13 @@ mlnx_pre_register_smr (
 \r
 void\r
 mlnx_post_register_smr (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN         ib_api_status_t                 ioctl_status,\r
     IN         const void                      *p_vaddr,\r
     IN         const uint32_t                  *p_lkey,\r
     IN         const uint32_t                  *p_rkey,\r
-    OUT                const uvp_mr_handle_t           *ph_uvp_smr,\r
+    OUT                const ib_mr_handle_t            *ph_uvp_smr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -206,7 +206,7 @@ mlnx_post_register_smr (
 \r
 ib_api_status_t\r
 mlnx_pre_deregister_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -217,7 +217,7 @@ mlnx_pre_deregister_mr (
 \r
 void\r
 mlnx_post_deregister_mr (\r
-    IN         const uvp_mr_handle_t           h_uvp_mr,\r
+    IN         const ib_mr_handle_t            h_uvp_mr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -228,7 +228,7 @@ mlnx_post_deregister_mr (
 \r
 ib_api_status_t\r
 mlnx_pre_create_mw (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     ib_api_status_t status = IB_SUCCESS;\r
@@ -310,7 +310,7 @@ mlnx_post_create_mw (
     cl_memcpy (&p_new_mw, p_umv_buf->p_inout_buf, p_umv_buf->input_size);\r
     \r
 \r
-    *ph_uvp_mw = (uvp_mw_handle_t) p_new_mw;\r
+    *ph_uvp_mw = (ib_mw_handle_t) p_new_mw;\r
 \r
     if (IB_SUCCESS == status)\r
     {\r
@@ -351,7 +351,7 @@ cleanup:
 \r
 ib_api_status_t\r
 mlnx_pre_query_mw (\r
-    IN         const uvp_mw_handle_t           h_uvp_mw,\r
+    IN         const ib_mw_handle_t            h_uvp_mw,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     FUNC_ENTER;\r
@@ -384,7 +384,7 @@ mlnx_post_query_mw (
 \r
 ib_api_status_t\r
 mlnx_pre_destroy_mw (\r
-    IN         const uvp_mw_handle_t           h_uvp_mw)\r
+    IN         const ib_mw_handle_t            h_uvp_mw)\r
 {\r
     FUNC_ENTER;\r
     FUNC_EXIT;\r
@@ -394,7 +394,7 @@ mlnx_pre_destroy_mw (
 \r
 void\r
 mlnx_post_destroy_mw (\r
-    IN         const uvp_mw_handle_t           h_uvp_mw,\r
+    IN         const ib_mw_handle_t            h_uvp_mw,\r
     IN         ib_api_status_t                 ioctl_status)\r
 {\r
     ib_api_status_t status = IB_SUCCESS;\r
index 3637bd3..c69c806 100644 (file)
@@ -69,202 +69,6 @@ mlnx_get_osbypass_interface (
 }\r
 \r
 \r
-inline static VAPI_wr_opcode_t\r
-map_itom_wr_opcode (\r
-    IN         ib_wr_type_t            ibal_opcode,\r
-    IN         boolean_t                       imm)\r
-{\r
-    VAPI_wr_opcode_t vapi_opcode;\r
-\r
-    switch (ibal_opcode)\r
-    {\r
-        case WR_SEND:\r
-            vapi_opcode = VAPI_SEND;\r
-            break;\r
-        case WR_RDMA_WRITE:\r
-            vapi_opcode = VAPI_RDMA_WRITE;\r
-            break;\r
-        case WR_RDMA_READ:\r
-            vapi_opcode = VAPI_RDMA_READ;\r
-            break;\r
-        case WR_COMPARE_SWAP:\r
-            vapi_opcode = VAPI_ATOMIC_FETCH_AND_ADD;\r
-            break;\r
-        default:\r
-            vapi_opcode = VAPI_SEND;\r
-            break;\r
-    }\r
-\r
-    if (imm & (VAPI_SEND == vapi_opcode || VAPI_RDMA_WRITE == vapi_opcode))\r
-    {\r
-        vapi_opcode++;\r
-    }\r
-\r
-    return vapi_opcode;\r
-}\r
-\r
-\r
-ib_api_status_t\r
-map_itom_send_desc (\r
-    IN         IB_ts_t                                         qp_type,\r
-    IN         ib_send_wr_t                            *p_i_wqe,\r
-    OUT                VAPI_sr_desc_t                          *p_m_swqe,\r
-    OUT                u_int64_t                                       *p_tot_len)\r
-{\r
-    boolean_t imm = FALSE;\r
-    u_int32_t idx;\r
-    register VAPI_sg_lst_entry_t *p_sg_list;\r
-    register ib_local_ds_t *p_i_ds;\r
-\r
-    switch (qp_type)\r
-    {\r
-        case IB_TS_UD:\r
-        {\r
-            mlnx_ual_av_info_t *p_av_info = NULL;\r
-\r
-            CL_TRACE (MLNX_TRACE_LVL_8, mlnx_dbg_lvl, ("Mapping UD QP\n"));\r
-\r
-            p_av_info = (mlnx_ual_av_info_t *) p_i_wqe->dgrm.ud.h_av;\r
-            CL_ASSERT (p_av_info);\r
-\r
-            p_m_swqe->remote_qp   = CL_NTOH32 (p_i_wqe->dgrm.ud.remote_qp);\r
-            p_m_swqe->remote_qkey = CL_NTOH32 (p_i_wqe->dgrm.ud.remote_qkey);\r
-            p_m_swqe->remote_ah   = p_av_info->hhul_av_hndl;\r
-            break;\r
-        }\r
-        case IB_TS_RC:\r
-        {\r
-            CL_TRACE (MLNX_TRACE_LVL_8, mlnx_dbg_lvl, ("Mapping RC QP\n"));\r
-            p_m_swqe->remote_addr = p_i_wqe->remote_ops.vaddr;\r
-            p_m_swqe->r_key       = p_i_wqe->remote_ops.rkey;    \r
-            p_m_swqe->compare_add = p_i_wqe->remote_ops.atomic1;    \r
-            p_m_swqe->swap        = p_i_wqe->remote_ops.atomic2;    \r
-            break;\r
-        }\r
-        case IB_TS_RD:\r
-        case IB_TS_UC:\r
-        default:\r
-            CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl, \r
-                      ("Mapping RD/UC QP (unsupported\n"));\r
-            return IB_UNSUPPORTED;\r
-    }\r
-\r
-    imm = (0 != (p_i_wqe->send_opt & IB_SEND_OPT_IMMEDIATE));\r
-    p_m_swqe->fence = (MT_bool)(0 != (p_i_wqe->send_opt & IB_SEND_OPT_FENCE));\r
-    p_m_swqe->set_se = (MT_bool)(0 != (p_i_wqe->send_opt & IB_SEND_OPT_SOLICITED));\r
-    p_m_swqe->comp_type = (p_i_wqe->send_opt & IB_SEND_OPT_SIGNALED) ?\r
-                             VAPI_SIGNALED : VAPI_UNSIGNALED;\r
-    p_m_swqe->id = p_i_wqe->wr_id;\r
-    p_m_swqe->opcode = map_itom_wr_opcode (p_i_wqe->wr_type, imm);\r
-  \r
-    if (imm)\r
-    {\r
-        p_m_swqe->imm_data = CL_NTOH32 (p_i_wqe->immediate_data);\r
-    }\r
-\r
-    p_m_swqe->sg_lst_len = p_i_wqe->num_ds;\r
-    p_sg_list            = p_m_swqe->sg_lst_p;\r
-    p_i_ds               = p_i_wqe->ds_array;\r
-    *p_tot_len           = 0;\r
-\r
-    for (idx = 0; idx < p_i_wqe->num_ds; idx++)\r
-    {\r
-        p_sg_list->addr = (VAPI_virt_addr_t) (MT_virt_addr_t) p_i_ds->vaddr;\r
-        p_sg_list->len  = p_i_ds->length;\r
-        p_sg_list->lkey = p_i_ds->lkey;\r
-        p_sg_list++;\r
-        *p_tot_len += p_i_ds->length + 4; // in_line data size + 4-byte length\r
-        p_i_ds++;\r
-    }\r
-\r
-    CL_TRACE (MLNX_TRACE_LVL_8, mlnx_dbg_lvl, ("send: rqpn 0x%x qkey 0x%x\n",\r
-              p_m_swqe->remote_qp, p_m_swqe->remote_qkey));\r
-\r
-    return IB_SUCCESS;\r
-}\r
-\r
-\r
-ib_api_status_t\r
-map_itom_recv_desc (\r
-    IN         ib_recv_wr_t                            *p_i_wqe,\r
-    OUT                VAPI_rr_desc_t                          *p_m_rwqe)\r
-{\r
-    u_int32_t idx;\r
-    register VAPI_sg_lst_entry_t *p_sg_list;\r
-    register ib_local_ds_t *p_i_ds;\r
-\r
-    p_m_rwqe->id         = (VAPI_wr_id_t)p_i_wqe->wr_id;\r
-    p_m_rwqe->sg_lst_len = p_i_wqe->num_ds;\r
-    p_m_rwqe->comp_type  = VAPI_SIGNALED;\r
-\r
-    p_sg_list = p_m_rwqe->sg_lst_p;\r
-    p_i_ds      = p_i_wqe->ds_array;\r
-    for (idx = 0; idx < p_i_wqe->num_ds; idx++)\r
-    {\r
-        p_sg_list->addr = (VAPI_virt_addr_t) (MT_virt_addr_t) p_i_ds->vaddr;\r
-        p_sg_list->len  = p_i_ds->length;\r
-        p_sg_list->lkey = (VAPI_lkey_t)p_i_ds->lkey;\r
-        p_sg_list++;\r
-        p_i_ds++;\r
-    }\r
-\r
-    return IB_SUCCESS;\r
-}\r
-\r
-\r
-int\r
-map_mtoi_cqe_status (\r
-    IN         VAPI_wc_status_t                        m_status)\r
-{\r
-    switch (m_status)\r
-    {\r
-        case IB_COMP_SUCCESS:            return (IB_WCS_SUCCESS);\r
-        case IB_COMP_LOC_LEN_ERR:        return (IB_WCS_LOCAL_LEN_ERR);\r
-        case IB_COMP_LOC_QP_OP_ERR:      return (IB_WCS_LOCAL_OP_ERR);\r
-//        case IB_COMP_LOC_EE_OP_ERR:      return (IB_WCS_LOCAL_EEC_OP_ERR);\r
-        case IB_COMP_LOC_PROT_ERR:       return (IB_WCS_LOCAL_PROTECTION_ERR);\r
-        case IB_COMP_WR_FLUSH_ERR:       return (IB_WCS_WR_FLUSHED_ERR);\r
-        case IB_COMP_MW_BIND_ERR:        return (IB_WCS_MEM_WINDOW_BIND_ERR);\r
-        case IB_COMP_REM_INV_REQ_ERR:    return (IB_WCS_REM_INVALID_REQ_ERR);\r
-        case IB_COMP_REM_ACCESS_ERR:     return (IB_WCS_REM_ACCESS_ERR);\r
-        case IB_COMP_REM_OP_ERR:         return (IB_WCS_REM_OP_ERR);\r
-        case IB_COMP_RETRY_EXC_ERR:      return (IB_WCS_TIMEOUT_RETRY_ERR);\r
-        case IB_COMP_RNR_RETRY_EXC_ERR:  return (IB_WCS_RNR_RETRY_ERR);\r
-//        case IB_COMP_REM_INV_RD_REQ_ERR: return (IB_WCS_REM_INVALID_RD_REQ_ERR);\r
-        case IB_COMP_REM_ABORT_ERR:      return (IB_WCS_REM_ACCESS_ERR);\r
-//        case IB_COMP_INV_EECN_ERR:       return (IB_WCS_INVALID_EECN);\r
-//        case IB_COMP_INV_EEC_STATE_ERR:  return (IB_WCS_INVALID_EEC_STATE);\r
-        case IB_COMP_FATAL_ERR:          return (IB_WCS_REM_ACCESS_ERR);\r
-        case IB_COMP_GENERAL_ERR:        return (IB_WCS_REM_ACCESS_ERR);\r
-        default:\r
-            CL_TRACE (MLNX_TRACE_LVL_1, mlnx_dbg_lvl, \r
-                      ("Failed to map m_cqe->status %d\n", m_status));\r
-            return IB_WCS_REM_ACCESS_ERR;\r
-    }\r
-\r
-}\r
-\r
-\r
-int\r
-map_mtoi_cqe_type (\r
-    IN         VAPI_cqe_opcode_t m_op)\r
-{\r
-    switch (m_op)\r
-    {\r
-        case VAPI_CQE_SQ_SEND_DATA:     return IB_WC_SEND;\r
-        case VAPI_CQE_SQ_RDMA_WRITE:    return IB_WC_RDMA_WRITE;\r
-        case VAPI_CQE_SQ_RDMA_READ:     return IB_WC_RDMA_READ;\r
-        case VAPI_CQE_SQ_COMP_SWAP:     return IB_WC_COMPARE_SWAP;\r
-        case VAPI_CQE_SQ_FETCH_ADD:     return IB_WC_FETCH_ADD;\r
-        case VAPI_CQE_SQ_BIND_MRW:      return IB_WC_MW_BIND;\r
-        case VAPI_CQE_RQ_SEND_DATA:     return IB_WC_RECV;\r
-        case VAPI_CQE_RQ_RDMA_WITH_IMM: return IB_WC_RECV_RDMA_WRITE;\r
-        default:\r
-            return IB_WC_SEND;\r
-    }\r
-}\r
-\r
-\r
 static VAPI_mrw_acl_t\r
 map_itom_access_ctrl (\r
     IN         ib_access_t             i_acl)\r
index 0c5599e..fa4d011 100644 (file)
@@ -58,7 +58,7 @@ mlnx_get_pd_interface (
     \r
 ib_api_status_t\r
 mlnx_pre_allocate_pd (\r
-    IN         const uvp_ca_handle_t           h_uvp_ca,\r
+    IN         const ib_ca_handle_t            h_uvp_ca,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
     ib_api_status_t status = IB_SUCCESS;\r
@@ -208,7 +208,7 @@ mlnx_post_allocate_pd (
                sizeof (mlnx_ual_pd_info_t*)),\r
                sizeof (mlnx_ual_pd_info_t *));\r
        CL_ASSERT(p_new_pd);\r
-       *ph_uvp_pd = (uvp_pd_handle_t) p_new_pd;\r
+       *ph_uvp_pd = (ib_pd_handle_t) p_new_pd;\r
 \r
        if ( ioctl_status == IB_SUCCESS )\r
        {\r
@@ -266,7 +266,7 @@ err:
 \r
 ib_api_status_t\r
 mlnx_pre_deallocate_pd (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd)\r
+    IN         const ib_pd_handle_t            h_uvp_pd)\r
 {\r
     ib_api_status_t status = IB_SUCCESS;\r
     mlnx_ual_pd_info_t *p_pd_info = (mlnx_ual_pd_info_t *)((void *)h_uvp_pd);\r
@@ -305,7 +305,7 @@ mlnx_pre_deallocate_pd (
 \r
 void\r
 mlnx_post_deallocate_pd (\r
-    IN         const uvp_pd_handle_t           h_uvp_pd,\r
+    IN         const ib_pd_handle_t            h_uvp_pd,\r
     IN         ib_api_status_t                 ioctl_status )\r
 {\r
     mlnx_ual_pd_info_t *p_pd_info = (mlnx_ual_pd_info_t *)((void *)h_uvp_pd);\r
index 21cb009..4fff143 100644 (file)
@@ -77,7 +77,7 @@ map_ibal_qp_type (ib_qp_type_t ibal_qp_type)
 \r
 ib_api_status_t\r
 mlnx_pre_create_qp (\r
-    IN         const   uvp_pd_handle_t         h_uvp_pd,\r
+    IN         const   ib_pd_handle_t          h_uvp_pd,\r
     IN         const   ib_qp_create_t          *p_create_attr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -271,7 +271,7 @@ mlnx_post_create_qp (
                sizeof (mlnx_ual_qp_info_t *)), sizeof (mlnx_ual_qp_info_t *));\r
        CL_ASSERT(p_new_qp);\r
 \r
-       *ph_uvp_qp = (uvp_qp_handle_t) p_new_qp;\r
+       *ph_uvp_qp = (ib_qp_handle_t) p_new_qp;\r
 \r
        if ( ioctl_status == IB_SUCCESS )\r
        {\r
@@ -333,7 +333,7 @@ err:
 \r
 ib_api_status_t\r
 mlnx_pre_modify_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         const ib_qp_mod_t               *p_modify_attr,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -364,7 +364,7 @@ mlnx_pre_modify_qp (
 \r
 void\r
 mlnx_post_modify_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         ib_api_status_t                 ioctl_status,\r
     IN OUT     ci_umv_buf_t                    *p_umv_buf)\r
 {\r
@@ -436,7 +436,7 @@ mlnx_post_modify_qp (
 \r
 ib_api_status_t\r
 mlnx_pre_query_qp (\r
-    IN         uvp_qp_handle_t                         h_uvp_qp,\r
+    IN         ib_qp_handle_t                          h_uvp_qp,\r
     IN OUT     ci_umv_buf_t                            *p_umv_buf)\r
 {\r
     UNREFERENCED_PARAMETER(h_uvp_qp);\r
@@ -454,7 +454,7 @@ mlnx_pre_query_qp (
 \r
 void\r
 mlnx_post_query_qp (\r
-       IN                              uvp_qp_handle_t                         h_uvp_qp,\r
+       IN                              ib_qp_handle_t                          h_uvp_qp,\r
        IN                              ib_api_status_t                         ioctl_status,\r
        IN      OUT                     ib_qp_attr_t                            *p_query_attr,\r
        IN      OUT                     ci_umv_buf_t                            *p_umv_buf)\r
@@ -480,7 +480,7 @@ mlnx_post_query_qp (
 \r
 ib_api_status_t\r
 mlnx_pre_destroy_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp)\r
+    IN         const ib_qp_handle_t            h_uvp_qp)\r
 {\r
     UNREFERENCED_PARAMETER(h_uvp_qp);\r
     FUNC_ENTER;\r
@@ -491,7 +491,7 @@ mlnx_pre_destroy_qp (
 \r
 void\r
 mlnx_post_destroy_qp (\r
-    IN         const uvp_qp_handle_t           h_uvp_qp,\r
+    IN         const ib_qp_handle_t            h_uvp_qp,\r
     IN         ib_api_status_t                 ioctl_status)\r
 {\r
     mlnx_ual_qp_info_t *p_qp_info = (mlnx_ual_qp_info_t *)((void *) h_uvp_qp);\r
index 66f8913..9fd8ec5 100644 (file)
@@ -16,6 +16,7 @@ MOSAL_HOME=$(MT_HOME)\mlxsys\mosal\os_dep\win
 THH_HOME=$(MT_HOME)\hca\hcahal\tavor\r
 \r
 INCLUDES= \\r
+       ..\..\user; \\r
        $(MT_HOME)\mlxsys\tools; \\r
        $(MT_HOME)\tavor_arch_db; \\r
        $(MT_HOME)\Hca\verbs; \\r
index a195680..d92a977 100644 (file)
@@ -36,8 +36,6 @@
 #include <complib/cl_types.h>\r
 #include <iba/ib_types.h>\r
 #include <iba/ib_ci.h>\r
-#include <iba/ib_al.h>\r
-#include <iba/ib_al_ioctl.h>\r
 \r
 /****h* UAL_UVP_Interface/Overview user-mode Verbs\r
 * NAME\r
@@ -247,12 +245,12 @@ typedef ib_api_status_t
 *\r
 * SYNOPSIS\r
 */\r
-\r
 typedef ib_api_status_t\r
 (AL_API *uvp_pre_query_ca) (\r
        IN                              ib_ca_handle_t                          h_uvp_ca,\r
-       IN      OUT                     ual_query_ca_ioctl_t                    *p_ca_ioctl );\r
-\r
+       IN                              ib_ca_attr_t                            *p_ca_attr,\r
+       IN                              size_t                                          byte_count,\r
+       IN                              ci_umv_buf_t                            *p_umv_buf );\r
 /*\r
 * DESCRIPTION\r
 *      uvp_pre_query_ca() is implemented by vendor. It is the pre-ioctl routine\r
@@ -261,6 +259,10 @@ typedef ib_api_status_t
 * PARAMETERS\r
 *      h_uvp_ca\r
 *              [in] Vendor's user-mode library handle to the open instance of the CA\r
+*      p_ca_attr\r
+*              [in] Pointer to the user's CA attribute buffer.\r
+*      byte_count\r
+*              [in] User-supplied size of the CA attribute buffer.\r
 *      p_umv_buf\r
 *              [in out] On input, UAL provides this buffer template.\r
 *              On return from this function, p_umv_buf contains any vendor-specific\r
@@ -2733,47 +2735,6 @@ typedef void
 \r
 /********/\r
 \r
-/****f* user-mode Verbs/uvp_err_handler\r
-* NAME\r
-*      uvp_err_handler -- Vendor's handler for QP/CQ error notification\r
-*\r
-* SYNOPSIS\r
-*/\r
-\r
-typedef void\r
-(AL_API *uvp_err_handler) (\r
-       IN              const   ib_async_event_rec_t* const             p_err_rec );\r
-\r
-/*\r
-* DESCRIPTION\r
-*      uvp_err_handler() is an optional error handler implemented by vendor.\r
-*      If the handler is provided, UAL will notify asynchronous errors for\r
-*      resources (e.g QP/CQ errors). Vendor could do any tracking as needed.\r
-*\r
-* PARAMETERS\r
-*      p_err_rec\r
-*              [in ] On input, the error record contains the code for resource error.\r
-*              The context is as appropriate for the resource.  The vendor's\r
-*              error handler could take appropriate action based on the type\r
-*              of error and the context provided. The following table\r
-*              provides how to interpret the context based on the error code.\r
-*              Update for any more error code.\r
-*              -----------------------------------\r
-*              Error                                   Context\r
-*              -----------------------------------\r
-*              QPERROR                                 ib_qp_handle_t\r
-*              CQERROR                                 ib_cq_handle_t\r
-*\r
-* RETURN VALUE\r
-*      NONE\r
-*\r
-* PORTABILITY\r
-*      User mode.\r
-*\r
-* SEE ALSO\r
-*\r
-********/\r
-\r
 /********/\r
 \r
 /****s* user-mode Verbs/uvp_interface_t\r
@@ -2906,14 +2867,6 @@ typedef struct _uvp_interface
        uvp_pre_detach_mcast            pre_detach_mcast;\r
        uvp_post_detach_mcast_t         post_detach_mcast;\r
 \r
-        /*\r
-         *     Error notification\r
-         * If the vendor provides these functions, UAL will\r
-         * invoke these functions when a QP/CQ error is reported by AL.\r
-         *\r
-         */\r
-        uvp_err_handler                        err_handler;\r
-\r
 } uvp_interface_t;\r
 \r
 /********/\r