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