Export UVP entry points directly.

This patch makes it so that the ND provider can call directly into the UVP, 
without having to query/user the UVP interface structure from IBAL.  Going 
forward, these entry points will be optimized for performance, taking native ND 
structures as input, optimizing locking, etc.

Signed-off-by: Fab Tillier <[email protected]>

diff -dwup3 -X excl.txt -r 
\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mlx4\user\hca\mlx4.def 
.\hw\mlx4\user\hca\mlx4.def
--- \dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mlx4\user\hca\mlx4.def       
Thu Mar 29 00:15:30 2012
+++ .\hw\mlx4\user\hca\mlx4.def Wed May 23 15:14:43 2012
@@ -1,8 +1,31 @@
 LIBRARY mlx4u.dll
 
-
-#ifndef _WIN64
 EXPORTS
+#ifndef _WIN64
 uvp_get_interface
 #endif
-
+mlx4_pre_open_ca
+mlx4_post_open_ca
+mlx4_post_close_ca
+mlx4_pre_alloc_pd
+mlx4_post_alloc_pd
+mlx4_post_free_pd
+mlx4_pre_create_cq
+mlx4_post_create_cq
+mlx4_post_destroy_cq
+mlx4_arm_cq
+mlx4_poll_cq_array
+mlx4_pre_create_srq
+mlx4_post_create_srq
+mlx4_pre_destroy_srq
+mlx4_post_destroy_srq
+mlx4_post_srq_recv
+mlx4_pre_create_qp
+mlx4_wv_pre_create_qp
+mlx4_post_create_qp
+mlx4_pre_destroy_qp
+mlx4_post_destroy_qp
+mlx4_nd_modify_qp
+mlx4_nd_get_qp_state
+mlx4_post_send
+mlx4_post_recv
diff -dwup3 -X excl.txt -r 
\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mlx4\user\hca\verbs.h 
.\hw\mlx4\user\hca\verbs.h
--- \dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mlx4\user\hca\verbs.h        
Tue Aug 07 17:06:08 2012
+++ .\hw\mlx4\user\hca\verbs.h  Thu May 31 12:35:12 2012
@@ -36,7 +36,7 @@
 #ifndef INFINIBAND_VERBS_H
 #define INFINIBAND_VERBS_H
 
-#include "l2w.h"
+#include "iba\ib_uvp.h"
 
 
 #ifdef __cplusplus
@@ -276,6 +276,14 @@ mlx4_post_destroy_cq (
        IN              const   ib_cq_handle_t                  h_uvp_cq,
        IN                              ib_api_status_t                 
ioctl_status );
 
+ib_api_status_t
+mlx4_arm_cq (
+       IN              const   void*                                           
h_cq,
+       IN              const   boolean_t                                       
solicited);
+
+int mlx4_poll_cq_array(const void* h_cq,
+                       const int num_entries, uvp_wc_t* const wc);
+
 /************* SRQ Management **********************/
 ib_api_status_t  
 mlx4_pre_create_srq (
@@ -300,6 +308,10 @@ mlx4_post_destroy_srq (
        IN              const   ib_srq_handle_t                 h_uvp_srq,
        IN                              ib_api_status_t                 
ioctl_status );
 
+ib_api_status_t mlx4_post_srq_recv(const void* h_srq,
+                       ib_recv_wr_t* const wr,
+                       ib_recv_wr_t** bad_wr);
+
 /************* QP Management ***********************/
 ib_api_status_t
 mlx4_pre_create_qp (
@@ -359,6 +371,14 @@ mlx4_nd_modify_qp (
 uint32_t
 mlx4_nd_get_qp_state (
        IN              const   ib_qp_handle_t                  h_uvp_qp );
+
+ib_api_status_t mlx4_post_send(const void* h_qp,
+                       ib_send_wr_t* const wr,
+                       ib_send_wr_t** bad_wr);
+
+ib_api_status_t mlx4_post_recv(const void* h_qp,
+                       ib_recv_wr_t* const wr,
+                       ib_recv_wr_t** bad_wr);
 
 /************* AV Management ***********************/
 ib_api_status_t

Attachment: ndv2.39.patch
Description: ndv2.39.patch

_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to