xref: /freebsd/sys/dev/sfxge/common/medford2_impl.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
1ae64ac93SAndrew Rybchenko /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
3ae64ac93SAndrew Rybchenko  *
4ae64ac93SAndrew Rybchenko  * Copyright (c) 2015-2018 Solarflare Communications Inc.
5ae64ac93SAndrew Rybchenko  * All rights reserved.
6ae64ac93SAndrew Rybchenko  *
7ae64ac93SAndrew Rybchenko  * Redistribution and use in source and binary forms, with or without
8ae64ac93SAndrew Rybchenko  * modification, are permitted provided that the following conditions are met:
9ae64ac93SAndrew Rybchenko  *
10ae64ac93SAndrew Rybchenko  * 1. Redistributions of source code must retain the above copyright notice,
11ae64ac93SAndrew Rybchenko  *    this list of conditions and the following disclaimer.
12ae64ac93SAndrew Rybchenko  * 2. Redistributions in binary form must reproduce the above copyright notice,
13ae64ac93SAndrew Rybchenko  *    this list of conditions and the following disclaimer in the documentation
14ae64ac93SAndrew Rybchenko  *    and/or other materials provided with the distribution.
15ae64ac93SAndrew Rybchenko  *
16ae64ac93SAndrew Rybchenko  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17ae64ac93SAndrew Rybchenko  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18ae64ac93SAndrew Rybchenko  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19ae64ac93SAndrew Rybchenko  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20ae64ac93SAndrew Rybchenko  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21ae64ac93SAndrew Rybchenko  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22ae64ac93SAndrew Rybchenko  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23ae64ac93SAndrew Rybchenko  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24ae64ac93SAndrew Rybchenko  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25ae64ac93SAndrew Rybchenko  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26ae64ac93SAndrew Rybchenko  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27ae64ac93SAndrew Rybchenko  *
28ae64ac93SAndrew Rybchenko  * The views and conclusions contained in the software and documentation are
29ae64ac93SAndrew Rybchenko  * those of the authors and should not be interpreted as representing official
30ae64ac93SAndrew Rybchenko  * policies, either expressed or implied, of the FreeBSD Project.
31ae64ac93SAndrew Rybchenko  */
32ae64ac93SAndrew Rybchenko 
33ae64ac93SAndrew Rybchenko #ifndef	_SYS_MEDFORD2_IMPL_H
34ae64ac93SAndrew Rybchenko #define	_SYS_MEDFORD2_IMPL_H
35ae64ac93SAndrew Rybchenko 
36ae64ac93SAndrew Rybchenko #ifdef	__cplusplus
37ae64ac93SAndrew Rybchenko extern "C" {
38ae64ac93SAndrew Rybchenko #endif
39ae64ac93SAndrew Rybchenko 
40ae64ac93SAndrew Rybchenko #ifndef	ER_EZ_TX_PIOBUF_SIZE
41ae64ac93SAndrew Rybchenko #define	ER_EZ_TX_PIOBUF_SIZE	4096
42ae64ac93SAndrew Rybchenko #endif
43ae64ac93SAndrew Rybchenko 
44ae64ac93SAndrew Rybchenko #define	MEDFORD2_PIOBUF_NBUFS	(16)
45ae64ac93SAndrew Rybchenko #define	MEDFORD2_PIOBUF_SIZE	(ER_EZ_TX_PIOBUF_SIZE)
46ae64ac93SAndrew Rybchenko 
47ae64ac93SAndrew Rybchenko #define	MEDFORD2_MIN_PIO_ALLOC_SIZE	(MEDFORD2_PIOBUF_SIZE / 32)
48ae64ac93SAndrew Rybchenko 
49ae64ac93SAndrew Rybchenko extern	__checkReturn	efx_rc_t
50ae64ac93SAndrew Rybchenko medford2_board_cfg(
51ae64ac93SAndrew Rybchenko 	__in		efx_nic_t *enp);
52ae64ac93SAndrew Rybchenko 
53ae64ac93SAndrew Rybchenko #ifdef	__cplusplus
54ae64ac93SAndrew Rybchenko }
55ae64ac93SAndrew Rybchenko #endif
56ae64ac93SAndrew Rybchenko 
57ae64ac93SAndrew Rybchenko #endif	/* _SYS_MEDFORD2_IMPL_H */
58