1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /****************************************************************************
3 * Driver for Solarflare network controllers and boards
4 * Copyright 2020 Xilinx, Inc.
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation, incorporated herein by reference.
11 /* Format of counter packets (version 2) from the ef100 Match-Action Engine */
13 #ifndef EFX_MAE_COUNTER_FORMAT_H
14 #define EFX_MAE_COUNTER_FORMAT_H
17 /*------------------------------------------------------------*/
19 * ER_RX_SL_PACKETISER_HEADER_WORD(160bit):
22 #define ER_RX_SL_PACKETISER_HEADER_WORD_SIZE 20
23 #define ER_RX_SL_PACKETISER_HEADER_WORD_WIDTH 160
25 #define ERF_SC_PACKETISER_HEADER_VERSION_LBN 0
26 #define ERF_SC_PACKETISER_HEADER_VERSION_WIDTH 8
27 #define ERF_SC_PACKETISER_HEADER_VERSION_VALUE 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_IDENTIFIER_OR 2
33 #define ERF_SC_PACKETISER_HEADER_HEADER_OFFSET_LBN 16
34 #define ERF_SC_PACKETISER_HEADER_HEADER_OFFSET_WIDTH 8
35 #define ERF_SC_PACKETISER_HEADER_HEADER_OFFSET_DEFAULT 0x4
36 #define ERF_SC_PACKETISER_HEADER_PAYLOAD_OFFSET_LBN 24
37 #define ERF_SC_PACKETISER_HEADER_PAYLOAD_OFFSET_WIDTH 8
38 #define ERF_SC_PACKETISER_HEADER_PAYLOAD_OFFSET_DEFAULT 0x14
39 #define ERF_SC_PACKETISER_HEADER_INDEX_LBN 32
40 #define ERF_SC_PACKETISER_HEADER_INDEX_WIDTH 16
41 #define ERF_SC_PACKETISER_HEADER_COUNT_LBN 48
42 #define ERF_SC_PACKETISER_HEADER_COUNT_WIDTH 16
43 #define ERF_SC_PACKETISER_HEADER_RESERVED_0_LBN 64
44 #define ERF_SC_PACKETISER_HEADER_RESERVED_0_WIDTH 32
45 #define ERF_SC_PACKETISER_HEADER_RESERVED_1_LBN 96
46 #define ERF_SC_PACKETISER_HEADER_RESERVED_1_WIDTH 32
47 #define ERF_SC_PACKETISER_HEADER_RESERVED_2_LBN 128
48 #define ERF_SC_PACKETISER_HEADER_RESERVED_2_WIDTH 32
51 /*------------------------------------------------------------*/
53 * ER_RX_SL_PACKETISER_PAYLOAD_WORD(128bit):
56 #define ER_RX_SL_PACKETISER_PAYLOAD_WORD_SIZE 16
57 #define ER_RX_SL_PACKETISER_PAYLOAD_WORD_WIDTH 128
59 #define ERF_SC_PACKETISER_PAYLOAD_COUNTER_INDEX_LBN 0
60 #define ERF_SC_PACKETISER_PAYLOAD_COUNTER_INDEX_WIDTH 24
61 #define ERF_SC_PACKETISER_PAYLOAD_RESERVED_LBN 24
62 #define ERF_SC_PACKETISER_PAYLOAD_RESERVED_WIDTH 8
63 #define ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_OFST 4
64 #define ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_SIZE 6
65 #define ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_LBN 32
66 #define ERF_SC_PACKETISER_PAYLOAD_PACKET_COUNT_WIDTH 48
67 #define ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_OFST 10
68 #define ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_SIZE 6
69 #define ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_LBN 80
70 #define ERF_SC_PACKETISER_PAYLOAD_BYTE_COUNT_WIDTH 48
73 #endif /* EFX_MAE_COUNTER_FORMAT_H */