1 //////////////---- Events Format C Header ----//////////////
2 //////////////---- Event entry ----//////////////
4 #define EV_CODE_WIDTH 4
5 #define RX_IP_EV_DECODE 0
6 #define TX_IP_EV_DECODE 2
7 #define DRIVER_EV_DECODE 5
8 #define GLOBAL_EV_DECODE 6
9 #define DRV_GEN_EV_DECODE 7
11 #define EV_DATA_WIDTH 60
12 //////////////---- Receive IP events for both Kernel & User event queues ----//////////////
13 #define RX_EV_PKT_OK_LBN 56
14 #define RX_EV_PKT_OK_WIDTH 1
15 #define RX_EV_BUF_OWNER_ID_ERR_LBN 54
16 #define RX_EV_BUF_OWNER_ID_ERR_WIDTH 1
17 #define RX_EV_IP_HDR_CHKSUM_ERR_LBN 52
18 #define RX_EV_IP_HDR_CHKSUM_ERR_WIDTH 1
19 #define RX_EV_TCP_UDP_CHKSUM_ERR_LBN 51
20 #define RX_EV_TCP_UDP_CHKSUM_ERR_WIDTH 1
21 #define RX_EV_ETH_CRC_ERR_LBN 50
22 #define RX_EV_ETH_CRC_ERR_WIDTH 1
23 #define RX_EV_FRM_TRUNC_LBN 49
24 #define RX_EV_FRM_TRUNC_WIDTH 1
25 #define RX_EV_DRIB_NIB_LBN 48
26 #define RX_EV_DRIB_NIB_WIDTH 1
27 #define RX_EV_TOBE_DISC_LBN 47
28 #define RX_EV_TOBE_DISC_WIDTH 1
29 #define RX_EV_PKT_TYPE_LBN 44
30 #define RX_EV_PKT_TYPE_WIDTH 3
31 #define RX_EV_PKT_TYPE_ETH_DECODE 0
32 #define RX_EV_PKT_TYPE_LLC_DECODE 1
33 #define RX_EV_PKT_TYPE_JUMBO_DECODE 2
34 #define RX_EV_PKT_TYPE_VLAN_DECODE 3
35 #define RX_EV_PKT_TYPE_VLAN_LLC_DECODE 4
36 #define RX_EV_PKT_TYPE_VLAN_JUMBO_DECODE 5
37 #define RX_EV_HDR_TYPE_LBN 42
38 #define RX_EV_HDR_TYPE_WIDTH 2
39 #define RX_EV_HDR_TYPE_TCP_IPV4_DECODE 0
40 #define RX_EV_HDR_TYPE_UDP_IPV4_DECODE 1
41 #define RX_EV_HDR_TYPE_OTHER_IP_DECODE 2
42 #define RX_EV_HDR_TYPE_NON_IP_DECODE 3
43 #define RX_EV_DESC_Q_EMPTY_LBN 41
44 #define RX_EV_DESC_Q_EMPTY_WIDTH 1
45 #define RX_EV_MCAST_HASH_MATCH_LBN 40
46 #define RX_EV_MCAST_HASH_MATCH_WIDTH 1
47 #define RX_EV_MCAST_PKT_LBN 39
48 #define RX_EV_MCAST_PKT_WIDTH 1
49 #define RX_EV_Q_LABEL_LBN 32
50 #define RX_EV_Q_LABEL_WIDTH 5
51 #define RX_JUMBO_CONT_LBN 31
52 #define RX_JUMBO_CONT_WIDTH 1
54 #define RX_SOP_WIDTH 1
55 #define RX_PORT_LBN 30
56 #define RX_PORT_WIDTH 1
57 #define RX_EV_BYTE_CNT_LBN 16
58 #define RX_EV_BYTE_CNT_WIDTH 14
59 #define RX_iSCSI_PKT_OK_LBN 14
60 #define RX_iSCSI_PKT_OK_WIDTH 1
61 #define RX_ISCSI_DDIG_ERR_LBN 13
62 #define RX_ISCSI_DDIG_ERR_WIDTH 1
63 #define RX_ISCSI_HDIG_ERR_LBN 12
64 #define RX_ISCSI_HDIG_ERR_WIDTH 1
65 #define RX_EV_DESC_PTR_LBN 0
66 #define RX_EV_DESC_PTR_WIDTH 12
67 //////////////---- Transmit IP events for both Kernel & User event queues ----//////////////
68 #define TX_EV_PKT_ERR_LBN 38
69 #define TX_EV_PKT_ERR_WIDTH 1
70 #define TX_EV_PKT_TOO_BIG_LBN 37
71 #define TX_EV_PKT_TOO_BIG_WIDTH 1
72 #define TX_EV_Q_LABEL_LBN 32
73 #define TX_EV_Q_LABEL_WIDTH 5
74 #define TX_EV_PORT_LBN 16
75 #define TX_EV_PORT_WIDTH 1
76 #define TX_EV_WQ_FF_FULL_LBN 15
77 #define TX_EV_WQ_FF_FULL_WIDTH 1
78 #define TX_EV_BUF_OWNER_ID_ERR_LBN 14
79 #define TX_EV_BUF_OWNER_ID_ERR_WIDTH 1
80 #define TX_EV_COMP_LBN 12
81 #define TX_EV_COMP_WIDTH 1
82 #define TX_EV_DESC_PTR_LBN 0
83 #define TX_EV_DESC_PTR_WIDTH 12
84 //////////////---- Char or Kernel driver events ----//////////////
85 #define DRIVER_EV_SUB_CODE_LBN 56
86 #define DRIVER_EV_SUB_CODE_WIDTH 4
87 #define TX_DESCQ_FLS_DONE_EV_DECODE 0x0
88 #define RX_DESCQ_FLS_DONE_EV_DECODE 0x1
89 #define EVQ_INIT_DONE_EV_DECODE 0x2
90 #define EVQ_NOT_EN_EV_DECODE 0x3
91 #define RX_DESCQ_FLSFF_OVFL_EV_DECODE 0x4
92 #define SRM_UPD_DONE_EV_DECODE 0x5
93 #define WAKE_UP_EV_DECODE 0x6
94 #define TX_PKT_NON_TCP_UDP_DECODE 0x9
95 #define TIMER_EV_DECODE 0xA
96 #define RX_DSC_ERROR_EV_DECODE 0xE
97 #define DRIVER_EV_TX_DESCQ_ID_LBN 0
98 #define DRIVER_EV_TX_DESCQ_ID_WIDTH 12
99 #define DRIVER_EV_RX_DESCQ_ID_LBN 0
100 #define DRIVER_EV_RX_DESCQ_ID_WIDTH 12
101 #define DRIVER_EV_EVQ_ID_LBN 0
102 #define DRIVER_EV_EVQ_ID_WIDTH 12
103 #define DRIVER_TMR_ID_LBN 0
104 #define DRIVER_TMR_ID_WIDTH 12
105 #define DRIVER_EV_SRM_UPD_LBN 0
106 #define DRIVER_EV_SRM_UPD_WIDTH 2
107 #define SRM_CLR_EV_DECODE 0
108 #define SRM_UPD_EV_DECODE 1
109 #define SRM_ILLCLR_EV_DECODE 2
110 //////////////---- Global events. Sent to both event queue 0 and 4. ----//////////////
111 #define XFP_PHY_INTR_LBN 10
112 #define XFP_PHY_INTR_WIDTH 1
113 #define XG_PHY_INTR_LBN 9
114 #define XG_PHY_INTR_WIDTH 1
115 #define G_PHY1_INTR_LBN 8
116 #define G_PHY1_INTR_WIDTH 1
117 #define G_PHY0_INTR_LBN 7
118 #define G_PHY0_INTR_WIDTH 1
119 //////////////---- Driver generated events ----//////////////
120 #define DRV_GEN_EV_CODE_LBN 60
121 #define DRV_GEN_EV_CODE_WIDTH 4
122 #define DRV_GEN_EV_DATA_LBN 0
123 #define DRV_GEN_EV_DATA_WIDTH 60