xref: /dpdk/drivers/common/sfc_efx/base/hunt_impl.h (revision 672386c1e9e1f64f7aa3b1360ad22dc737ea8d72)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  *
3  * Copyright(c) 2019-2021 Xilinx, Inc.
4  * Copyright(c) 2012-2019 Solarflare Communications Inc.
5  */
6 
7 #ifndef _SYS_HUNT_IMPL_H
8 #define	_SYS_HUNT_IMPL_H
9 
10 #include "efx.h"
11 #include "efx_regs.h"
12 #include "efx_regs_ef10.h"
13 
14 #ifdef	__cplusplus
15 extern "C" {
16 #endif
17 
18 #define	HUNT_TXQ_MAXNDESCS			4096
19 #define	HUNT_TXQ_MAXNDESCS_BUG35388_WORKAROUND	2048
20 
21 #define	HUNT_EVQ_MAXNBUFS	(64)
22 
23 /* Missing register definitions */
24 #ifndef	ER_DZ_TX_PIOBUF_OFST
25 #define	ER_DZ_TX_PIOBUF_OFST 0x00001000
26 #endif
27 #ifndef	ER_DZ_TX_PIOBUF_STEP
28 #define	ER_DZ_TX_PIOBUF_STEP 8192
29 #endif
30 #ifndef	ER_DZ_TX_PIOBUF_ROWS
31 #define	ER_DZ_TX_PIOBUF_ROWS 2048
32 #endif
33 
34 #ifndef	ER_DZ_TX_PIOBUF_SIZE
35 #define	ER_DZ_TX_PIOBUF_SIZE 2048
36 #endif
37 
38 #define	HUNT_PIOBUF_NBUFS	(16)
39 #define	HUNT_PIOBUF_SIZE	(ER_DZ_TX_PIOBUF_SIZE)
40 
41 #define	HUNT_MIN_PIO_ALLOC_SIZE	(HUNT_PIOBUF_SIZE / 32)
42 
43 
44 /* NIC */
45 
46 LIBEFX_INTERNAL
47 extern	__checkReturn	efx_rc_t
48 hunt_board_cfg(
49 	__in		efx_nic_t *enp);
50 
51 #ifdef	__cplusplus
52 }
53 #endif
54 
55 #endif	/* _SYS_HUNT_IMPL_H */
56