xref: /dpdk/drivers/common/sfc_efx/base/hunt_impl.h (revision 672386c1e9e1f64f7aa3b1360ad22dc737ea8d72)
15e111ed8SAndrew Rybchenko /* SPDX-License-Identifier: BSD-3-Clause
25e111ed8SAndrew Rybchenko  *
3*672386c1SAndrew Rybchenko  * Copyright(c) 2019-2021 Xilinx, Inc.
45e111ed8SAndrew Rybchenko  * Copyright(c) 2012-2019 Solarflare Communications Inc.
55e111ed8SAndrew Rybchenko  */
65e111ed8SAndrew Rybchenko 
75e111ed8SAndrew Rybchenko #ifndef _SYS_HUNT_IMPL_H
85e111ed8SAndrew Rybchenko #define	_SYS_HUNT_IMPL_H
95e111ed8SAndrew Rybchenko 
105e111ed8SAndrew Rybchenko #include "efx.h"
115e111ed8SAndrew Rybchenko #include "efx_regs.h"
125e111ed8SAndrew Rybchenko #include "efx_regs_ef10.h"
135e111ed8SAndrew Rybchenko 
145e111ed8SAndrew Rybchenko #ifdef	__cplusplus
155e111ed8SAndrew Rybchenko extern "C" {
165e111ed8SAndrew Rybchenko #endif
175e111ed8SAndrew Rybchenko 
185e111ed8SAndrew Rybchenko #define	HUNT_TXQ_MAXNDESCS			4096
195e111ed8SAndrew Rybchenko #define	HUNT_TXQ_MAXNDESCS_BUG35388_WORKAROUND	2048
205e111ed8SAndrew Rybchenko 
215e111ed8SAndrew Rybchenko #define	HUNT_EVQ_MAXNBUFS	(64)
225e111ed8SAndrew Rybchenko 
235e111ed8SAndrew Rybchenko /* Missing register definitions */
245e111ed8SAndrew Rybchenko #ifndef	ER_DZ_TX_PIOBUF_OFST
255e111ed8SAndrew Rybchenko #define	ER_DZ_TX_PIOBUF_OFST 0x00001000
265e111ed8SAndrew Rybchenko #endif
275e111ed8SAndrew Rybchenko #ifndef	ER_DZ_TX_PIOBUF_STEP
285e111ed8SAndrew Rybchenko #define	ER_DZ_TX_PIOBUF_STEP 8192
295e111ed8SAndrew Rybchenko #endif
305e111ed8SAndrew Rybchenko #ifndef	ER_DZ_TX_PIOBUF_ROWS
315e111ed8SAndrew Rybchenko #define	ER_DZ_TX_PIOBUF_ROWS 2048
325e111ed8SAndrew Rybchenko #endif
335e111ed8SAndrew Rybchenko 
345e111ed8SAndrew Rybchenko #ifndef	ER_DZ_TX_PIOBUF_SIZE
355e111ed8SAndrew Rybchenko #define	ER_DZ_TX_PIOBUF_SIZE 2048
365e111ed8SAndrew Rybchenko #endif
375e111ed8SAndrew Rybchenko 
385e111ed8SAndrew Rybchenko #define	HUNT_PIOBUF_NBUFS	(16)
395e111ed8SAndrew Rybchenko #define	HUNT_PIOBUF_SIZE	(ER_DZ_TX_PIOBUF_SIZE)
405e111ed8SAndrew Rybchenko 
415e111ed8SAndrew Rybchenko #define	HUNT_MIN_PIO_ALLOC_SIZE	(HUNT_PIOBUF_SIZE / 32)
425e111ed8SAndrew Rybchenko 
435e111ed8SAndrew Rybchenko 
445e111ed8SAndrew Rybchenko /* NIC */
455e111ed8SAndrew Rybchenko 
465e111ed8SAndrew Rybchenko LIBEFX_INTERNAL
475e111ed8SAndrew Rybchenko extern	__checkReturn	efx_rc_t
485e111ed8SAndrew Rybchenko hunt_board_cfg(
495e111ed8SAndrew Rybchenko 	__in		efx_nic_t *enp);
505e111ed8SAndrew Rybchenko 
515e111ed8SAndrew Rybchenko #ifdef	__cplusplus
525e111ed8SAndrew Rybchenko }
535e111ed8SAndrew Rybchenko #endif
545e111ed8SAndrew Rybchenko 
555e111ed8SAndrew Rybchenko #endif	/* _SYS_HUNT_IMPL_H */
56