xref: /illumos-gate/usr/src/uts/common/io/bnx/bnxsnd.h (revision ed093b41a93e8563e6e1e5dae0768dda2a7bcc27)
1 /*
2  * Copyright 2014-2017 Cavium, Inc.
3  * The contents of this file are subject to the terms of the Common Development
4  * and Distribution License, v.1,  (the "License").
5  *
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the License at available
9  * at http://opensource.org/licenses/CDDL-1.0
10  *
11  * See the License for the specific language governing permissions and
12  * limitations under the License.
13  */
14 
15 /*
16  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
17  */
18 
19 #ifndef _BNXSND_H
20 #define	_BNXSND_H
21 
22 #include "bnx.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 int  bnx_txpkts_init(um_device_t *const);
29 void bnx_txpkts_flush(um_device_t *const);
30 void bnx_txpkts_fini(um_device_t *const);
31 
32 #define	BNX_SEND_GOODXMIT  0
33 #define	BNX_SEND_LINKDOWN  1
34 #define	BNX_SEND_DEFERPKT  2
35 #define	BNX_SEND_HDWRFULL  3
36 
37 int  bnx_xmit_pkt_map(um_txpacket_t *const, mblk_t *);
38 
39 int bnx_xmit_ring_xmit_qpkt(um_device_t *const, const unsigned int);
40 
41 int bnx_xmit_ring_xmit_mblk(um_device_t *const, const unsigned int, mblk_t *);
42 
43 void bnx_xmit_ring_reclaim(um_device_t *const, const unsigned int, s_list_t *);
44 
45 void bnx_xmit_ring_intr(um_device_t *const, const unsigned int);
46 
47 void bnx_txpkts_intr(um_device_t *const);
48 
49 void bnx_xmit_ring_post(um_device_t *const, const unsigned int);
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
55 #endif /* _BNXSND_H */
56