1 /* SPDX-License-Identifier: BSD-3-Clause
3 * Copyright(c) 2020-2021 Xilinx, Inc.
6 #ifndef _SYS_EFX_REGS_COUNTERS_PKT_FORMAT_H
7 #define _SYS_EFX_REGS_COUNTERS_PKT_FORMAT_H
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
16 /*------------------------------------------------------------*/
18 * ER_RX_SL_PACKETISER_HEADER_WORD(160bit):
21 #define ER_RX_SL_PACKETISER_HEADER_WORD_SIZE 20
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
50 /*------------------------------------------------------------*/
52 * ER_RX_SL_PACKETISER_PAYLOAD_WORD(128bit):
55 #define ER_RX_SL_PACKETISER_PAYLOAD_WORD_SIZE 16
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
87 #endif /* _SYS_EFX_REGS_COUNTERS_PKT_FORMAT_H */