Update to 3.4-final.
[linux-flexiantxendom0-3.2.10.git] / drivers / xen / sfc_netfront / ef_vi_falcon_event.h
1 //////////////---- Events Format C Header ----//////////////
2 //////////////---- Event entry ----//////////////
3   #define EV_CODE_LBN 60
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
10   #define EV_DATA_LBN 0
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
53   #define RX_SOP_LBN 15
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