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