#define IPOIB_RECV_FROM_PACKET( P ) \\r
(((void **)P->MiniportReservedEx)[1])\r
#define IPOIB_SEND_FROM_PACKET( P ) \\r
- (((send_buf_t**)P->MiniportReservedEx)[2])\r
+ (((void **)P->MiniportReservedEx)[2])\r
#define IPOIB_PACKET_FROM_LIST_ITEM( I ) \\r
(PARENT_STRUCT( I, NDIS_PACKET, MiniportReservedEx ))\r
#define IPOIB_LIST_ITEM_FROM_PACKET( P ) \\r
\r
typedef struct _ipoib_send_desc\r
{\r
+ cl_pool_item_t pool_item;\r
NDIS_PACKET *p_pkt;\r
ipoib_endpt_t *p_endpt;\r
send_buf_t *p_buf;\r
{\r
atomic32_t depth;\r
cl_qlist_t pending_list;\r
+ cl_spinlock_t desc_lock;\r
+ cl_qpool_t desc_pool;\r
+\r
\r
} ipoib_send_mgr_t;\r
/*\r
return 256;\r
}\r
}\r
+\r
+inline ipoib_send_desc_t*\r
+ipoib_send_desc_mgr_get(\r
+ IN ipoib_port_t* const p_port );\r
+\r
+void\r
+ipoib_send_desc_mgr_put(\r
+ IN ipoib_port_t* const p_port,\r
+ IN ipoib_send_desc_t* const p_desc );\r
+\r
+void\r
+ipoib_send_desc_mgr_put_list(\r
+ IN ipoib_port_t* const p_port,\r
+ IN cl_qlist_t* const p_list );\r
+\r
#endif /* _IPOIB_PORT_H_ */\r