1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Atlantic Network Driver
3  * Copyright (C) 2020 Marvell International Ltd.
4  */
5 
6 #ifndef HW_ATL2_INTERNAL_H
7 #define HW_ATL2_INTERNAL_H
8 
9 #include "hw_atl2_utils.h"
10 
11 #define HW_ATL2_MTU_JUMBO  16352U
12 #define HW_ATL2_MTU        1514U
13 
14 #define HW_ATL2_TX_RINGS 4U
15 #define HW_ATL2_RX_RINGS 4U
16 
17 #define HW_ATL2_RINGS_MAX 32U
18 #define HW_ATL2_TXD_SIZE       (16U)
19 #define HW_ATL2_RXD_SIZE       (16U)
20 
21 #define HW_ATL2_TC_MAX 1U
22 #define HW_ATL2_RSS_MAX 8U
23 
24 #define HW_ATL2_MIN_RXD \
25 	(ALIGN(AQ_CFG_SKB_FRAGS_MAX + 1U, AQ_HW_RXD_MULTIPLE))
26 #define HW_ATL2_MIN_TXD \
27 	(ALIGN(AQ_CFG_SKB_FRAGS_MAX + 1U, AQ_HW_TXD_MULTIPLE))
28 
29 #define HW_ATL2_MAX_RXD 8184U
30 #define HW_ATL2_MAX_TXD 8184U
31 
32 struct hw_atl2_priv {
33 	struct statistics_s last_stats;
34 	unsigned int art_base_index;
35 };
36 
37 #endif /* HW_ATL2_INTERNAL_H */
38