1 /* SPDX-License-Identifier: BSD-3-Clause
2  *
3  * Copyright(c) 2020-2021 Xilinx, Inc.
4  */
5 
6 #ifndef	_SYS_EFX_REGS_COUNTERS_PKT_FORMAT_H
7 #define	_SYS_EFX_REGS_COUNTERS_PKT_FORMAT_H
8 
9 /*
10  * Packetiser packet format definition.
11  * SF-122415-TC - OVS Counter Design Specification section 7
12  * Primary copy of the header is located in the smartnic_registry repo:
13  * src/ovs_counter/packetiser_packet_format.h
14  */
15 
16 /*------------------------------------------------------------*/
17 /*
18  * ER_RX_SL_PACKETISER_HEADER_WORD(160bit):
19  *
20  */
21 #define	ER_RX_SL_PACKETISER_HEADER_WORD_SIZE 20
22 
23 #define	ERF_SC_PACKETISER_HEADER_VERSION_LBN 0
24 #define	ERF_SC_PACKETISER_HEADER_VERSION_WIDTH 8
25 /* Deprecated, use ERF_SC_PACKETISER_HEADER_VERSION_2 instead */
26 #define	ERF_SC_PACKETISER_HEADER_VERSION_VALUE 2
27 #define	ERF_SC_PACKETISER_HEADER_VERSION_2 2
28 #define	ERF_SC_PACKETISER_HEADER_IDENTIFIER_LBN 8
29 #define	ERF_SC_PACKETISER_HEADER_IDENTIFIER_WIDTH 8
30 #define	ERF_SC_PACKETISER_HEADER_IDENTIFIER_AR 0
31 #define	ERF_SC_PACKETISER_HEADER_IDENTIFIER_CT 1
32 #define	ERF_SC_PACKETISER_HEADER_HEADER_OFFSET_LBN 16
33 #define	ERF_SC_PACKETISER_HEADER_HEADER_OFFSET_WIDTH 8
34 #define	ERF_SC_PACKETISER_HEADER_HEADER_OFFSET_DEFAULT 0x4
35 #define	ERF_SC_PACKETISER_HEADER_PAYLOAD_OFFSET_LBN 24
36 #define	ERF_SC_PACKETISER_HEADER_PAYLOAD_OFFSET_WIDTH 8
37 #define	ERF_SC_PACKETISER_HEADER_PAYLOAD_OFFSET_DEFAULT 0x14
38 #define	ERF_SC_PACKETISER_HEADER_INDEX_LBN 32
39 #define	ERF_SC_PACKETISER_HEADER_INDEX_WIDTH 16
40 #define	ERF_SC_PACKETISER_HEADER_COUNT_LBN 48
41 #define	ERF_SC_PACKETISER_HEADER_COUNT_WIDTH 16
42 #define	ERF_SC_PACKETISER_HEADER_RESERVED_0_LBN 64
43 #define	ERF_SC_PACKETISER_HEADER_RESERVED_0_WIDTH 32
44 #define	ERF_SC_PACKETISER_HEADER_RESERVED_1_LBN 96
45 #define	ERF_SC_PACKETISER_HEADER_RESERVED_1_WIDTH 32
46 #define	ERF_SC_PACKETISER_HEADER_RESERVED_2_LBN 128
47 #define	ERF_SC_PACKETISER_HEADER_RESERVED_2_WIDTH 32
48 
49 
50 /*------------------------------------------------------------*/
51 /*
52  * ER_RX_SL_PACKETISER_PAYLOAD_WORD(128bit):
53  *
54  */
55 #define	ER_RX_SL_PACKETISER_PAYLOAD_WORD_SIZE 16
56 
57 #define	ERF_SC_PACKETISER_PAYLOAD_COUNTER_INDEX_LBN 0
58 #define	ERF_SC_PACKETISER_PAYLOAD_COUNTER_INDEX_WIDTH 24
59 #define	ERF_SC_PACKETISER_PAYLOAD_RESERVED_LBN 24
60 #define	ERF_SC_PACKETISER_PAYLOAD_RESERVED_WIDTH 8
61 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_OFST 4
62 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_SIZE 6
63 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_LBN 32
64 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_WIDTH 48
65 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_LO_OFST 4
66 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_LO_SIZE 4
67 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_LO_LBN 32
68 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_LO_WIDTH 32
69 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_HI_OFST 8
70 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_HI_SIZE 2
71 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_HI_LBN 64
72 #define	ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_HI_WIDTH 16
73 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_OFST 10
74 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_SIZE 6
75 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_LBN 80
76 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_WIDTH 48
77 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_LO_OFST 10
78 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_LO_SIZE 2
79 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_LO_LBN 80
80 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_LO_WIDTH 16
81 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_HI_OFST 12
82 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_HI_SIZE 4
83 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_HI_LBN 96
84 #define	ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_HI_WIDTH 32
85 
86 
87 #endif /* _SYS_EFX_REGS_COUNTERS_PKT_FORMAT_H */
88