1*d14abf15SRobert Mustacchi #ifndef __57XX_FCOE_CONSTANTS_H_
2*d14abf15SRobert Mustacchi #define __57XX_FCOE_CONSTANTS_H_
3*d14abf15SRobert Mustacchi 
4*d14abf15SRobert Mustacchi /**
5*d14abf15SRobert Mustacchi  * This file defines HSI constants for the FCoE flows
6*d14abf15SRobert Mustacchi  */
7*d14abf15SRobert Mustacchi 
8*d14abf15SRobert Mustacchi /* Current FCoE HSI version number composed of two fields (16 bit) */
9*d14abf15SRobert Mustacchi #define FCOE_HSI_MAJOR_VERSION (2)	// Implies on a change broken previous HSI
10*d14abf15SRobert Mustacchi #define FCOE_HSI_MINOR_VERSION (2)	// Implies on a change which does not broken previous HSI
11*d14abf15SRobert Mustacchi 
12*d14abf15SRobert Mustacchi /* KWQ/KCQ FCoE layer code */
13*d14abf15SRobert Mustacchi #define FCOE_KWQE_LAYER_CODE   (7)
14*d14abf15SRobert Mustacchi 
15*d14abf15SRobert Mustacchi /* KWQ (kernel work queue) request op codes */
16*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_INIT1			(0)
17*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_INIT2			(1)
18*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_INIT3			(2)
19*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_OFFLOAD_CONN1	(3)
20*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_OFFLOAD_CONN2	(4)
21*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_OFFLOAD_CONN3	(5)
22*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_OFFLOAD_CONN4	(6)
23*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_ENABLE_CONN	(7)
24*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_DISABLE_CONN	(8)
25*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_DESTROY_CONN	(9)
26*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_DESTROY		(10)
27*d14abf15SRobert Mustacchi #define FCOE_KWQE_OPCODE_STAT			(11)
28*d14abf15SRobert Mustacchi 
29*d14abf15SRobert Mustacchi /* KCQ (kernel completion queue) response op codes */
30*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_INIT_FUNC				(0x10)
31*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_DESTROY_FUNC			(0x11)
32*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_STAT_FUNC				(0x12)
33*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_OFFLOAD_CONN			(0x15)
34*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_ENABLE_CONN			(0x16)
35*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_DISABLE_CONN			(0x17)
36*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_DESTROY_CONN			(0x18)
37*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_CQ_EVENT_NOTIFICATION  (0x20)
38*d14abf15SRobert Mustacchi #define FCOE_KCQE_OPCODE_FCOE_ERROR				(0x21)
39*d14abf15SRobert Mustacchi 
40*d14abf15SRobert Mustacchi /* KCQ (kernel completion queue) completion status */
41*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_SUCCESS				(0x0)
42*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_ERROR				(0x1)
43*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_INVALID_OPCODE		(0x2)
44*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_CTX_ALLOC_FAILURE	(0x3)
45*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_CTX_FREE_FAILURE	(0x4)
46*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_NIC_ERROR			(0x5)
47*d14abf15SRobert Mustacchi #define FCOE_KCQE_COMPLETION_STATUS_WRONG_HSI_VERSION   (0x6)
48*d14abf15SRobert Mustacchi 
49*d14abf15SRobert Mustacchi /* CQE type */
50*d14abf15SRobert Mustacchi #define FCOE_PENDING_CQE_TYPE			0
51*d14abf15SRobert Mustacchi #define FCOE_UNSOLIC_CQE_TYPE			1
52*d14abf15SRobert Mustacchi 
53*d14abf15SRobert Mustacchi /* Unsolicited CQE type */
54*d14abf15SRobert Mustacchi #define FCOE_UNSOLICITED_FRAME_CQE_TYPE			0
55*d14abf15SRobert Mustacchi #define FCOE_ERROR_DETECTION_CQE_TYPE			1
56*d14abf15SRobert Mustacchi #define FCOE_WARNING_DETECTION_CQE_TYPE			2
57*d14abf15SRobert Mustacchi 
58*d14abf15SRobert Mustacchi // E_D_TOV timer resolution in ms
59*d14abf15SRobert Mustacchi #define FCOE_E_D_TOV_TIMER_RESOLUTION_MS (20)
60*d14abf15SRobert Mustacchi 
61*d14abf15SRobert Mustacchi // E_D_TOV timer resolution for SDM (4 micro)
62*d14abf15SRobert Mustacchi #define FCOE_E_D_TOV_SDM_TIMER_RESOLUTION (FCOE_E_D_TOV_TIMER_RESOLUTION_MS * 1000 / 4)
63*d14abf15SRobert Mustacchi 
64*d14abf15SRobert Mustacchi // REC timer resolution in ms
65*d14abf15SRobert Mustacchi #define FCOE_REC_TIMER_RESOLUTION_MS (20)
66*d14abf15SRobert Mustacchi 
67*d14abf15SRobert Mustacchi // REC timer resolution for SDM (4 micro)
68*d14abf15SRobert Mustacchi #define FCOE_REC_SDM_TIMER_RESOLUTION (FCOE_REC_TIMER_RESOLUTION_MS * 1000 / 4)
69*d14abf15SRobert Mustacchi 
70*d14abf15SRobert Mustacchi // E_D_TOV timer default wraparound value (2 sec) in 20 ms resolution
71*d14abf15SRobert Mustacchi #define FCOE_E_D_TOV_DEFAULT_WRAPAROUND_VAL	(2000 / FCOE_E_D_TOV_TIMER_RESOLUTION_MS)
72*d14abf15SRobert Mustacchi 
73*d14abf15SRobert Mustacchi // REC_TOV timer default wraparound value (3 sec) in 20 ms resolution
74*d14abf15SRobert Mustacchi #define FCOE_REC_TOV_DEFAULT_WRAPAROUND_VAL	(3000 / FCOE_REC_TIMER_RESOLUTION_MS)
75*d14abf15SRobert Mustacchi 
76*d14abf15SRobert Mustacchi #define FCOE_NUM_OF_TIMER_TASKS  (8 * 1024)
77*d14abf15SRobert Mustacchi 
78*d14abf15SRobert Mustacchi #define FCOE_NUM_OF_CACHED_TASKS_TIMER (8)
79*d14abf15SRobert Mustacchi 
80*d14abf15SRobert Mustacchi // Task context constants
81*d14abf15SRobert Mustacchi /************************************** Remove FCP_CMD write tce sleep                *****************************************************************
82*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_NORMAL						0	// In case timer services are required then shall be updated by Xstorm after start processing the task. In case no timer facilities are required then the driver would initialize the state to this value
83*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_INIT							1	// After driver has initialize the task in case timer services required
84*d14abf15SRobert Mustacchi ************************************** Remove FCP_CMD write tce sleep                *****************************************************************/
85*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_INIT                                     0	// After driver has initialize the task in case timer services required
86*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_NORMAL                                   1	// In case timer services are required then shall be updated by Xstorm after start processing the task. In case no timer facilities are required then the driver would initialize the state to this value
87*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_ABORT                                    2	// Task is under abort procedure. Updated in order to stop processing of pending WQEs on this task
88*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_ERROR                                    3	// For E_D_T_TOV timer expiration in Xstorm (Class 2 only)
89*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_WARNING                                  4	// For REC_TOV timer expiration indication received from Xstorm
90*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_UNSOLICITED_COMPLETED                    5	// For completed unsolicited task
91*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_EXCHANGE_CLEANUP                         6	// For exchange cleanup request task
92*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_SEQUENCE_CLEANUP                         7	// For sequence cleanup request task
93*d14abf15SRobert Mustacchi #define	FCOE_TASK_TX_STATE_ABTS_TX                                  8	// For completion the ABTS task.
94*d14abf15SRobert Mustacchi 
95*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_NORMAL						0
96*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_COMPLETED					1
97*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_INTER_COMP					2	// Obsolete: Intermediate completion (middle path with local completion)
98*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_WARNING						3	// For REC_TOV timer expiration indication received from Xstorm
99*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_ERROR						4	// For E_D_T_TOV timer expiration in Ustorm
100*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_ABTS_IN_PROCESS				5	// FW only: First visit at rx-path, part of the abts round trip
101*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_ABTS_TRANSMITTED				6	// FW only: Second visit at rx-path, after ABTS frame transmitted
102*d14abf15SRobert Mustacchi #define FCOE_TASK_RX_STATE_ABTS_COMPLETED				7	// Special completion indication in case of task was aborted.
103*d14abf15SRobert Mustacchi #define	FCOE_TASK_RX_STATE_EXCHANGE_CLEANUP_IN_PROCESS  8	// FW only: First visit at rx-path, part of the cleanup round trip
104*d14abf15SRobert Mustacchi #define FCOE_TASK_RX_STATE_EXCHANGE_CLEANUP_COMPLETED	9	// FW only: Special completion indication in case of task was cleaned.
105*d14abf15SRobert Mustacchi #define FCOE_TASK_RX_STATE_ABORT_CLEANUP_COMPLETED		10	// Not in used: Special completion indication (in task requested the exchange cleanup) in case cleaned task is in non-valid.
106*d14abf15SRobert Mustacchi #define FCOE_TASK_RX_STATE_IGNORED_SEQUENCE_CLEANUP		11	// Special completion indication (in task requested the sequence cleanup) in case cleaned task was already returned to normal.
107*d14abf15SRobert Mustacchi 
108*d14abf15SRobert Mustacchi 
109*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_WRITE			0
110*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_READ				1
111*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_MIDPATH			2
112*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_UNSOLICITED		3
113*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_ABTS				4
114*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_EXCHANGE_CLEANUP	5
115*d14abf15SRobert Mustacchi #define	FCOE_TASK_TYPE_SEQUENCE_CLEANUP	6
116*d14abf15SRobert Mustacchi 
117*d14abf15SRobert Mustacchi #define FCOE_TASK_DEV_TYPE_DISK			0
118*d14abf15SRobert Mustacchi #define FCOE_TASK_DEV_TYPE_TAPE			1
119*d14abf15SRobert Mustacchi 
120*d14abf15SRobert Mustacchi #define FCOE_TASK_CLASS_TYPE_3			0
121*d14abf15SRobert Mustacchi #define FCOE_TASK_CLASS_TYPE_2			1
122*d14abf15SRobert Mustacchi 
123*d14abf15SRobert Mustacchi // FCoE/FC packet fields
124*d14abf15SRobert Mustacchi #define	FCOE_ETH_TYPE					0x8906
125*d14abf15SRobert Mustacchi 
126*d14abf15SRobert Mustacchi // FCoE maximum elements in hash table
127*d14abf15SRobert Mustacchi #define FCOE_MAX_ELEMENTS_IN_HASH_TABLE_ROW	8
128*d14abf15SRobert Mustacchi 
129*d14abf15SRobert Mustacchi // FCoE half of the elements in hash table
130*d14abf15SRobert Mustacchi #define FCOE_HALF_ELEMENTS_IN_HASH_TABLE_ROW	(FCOE_MAX_ELEMENTS_IN_HASH_TABLE_ROW / 2)
131*d14abf15SRobert Mustacchi 
132*d14abf15SRobert Mustacchi // FcoE number of cached T2 entries
133*d14abf15SRobert Mustacchi #define T_FCOE_NUMBER_OF_CACHED_T2_ENTRIES (4)
134*d14abf15SRobert Mustacchi 
135*d14abf15SRobert Mustacchi // FCoE maximum elements in hash table
136*d14abf15SRobert Mustacchi #define FCOE_HASH_TBL_CHUNK_SIZE	16384
137*d14abf15SRobert Mustacchi 
138*d14abf15SRobert Mustacchi // Everest FCoE connection type
139*d14abf15SRobert Mustacchi #define B577XX_FCOE_CONNECTION_TYPE		4
140*d14abf15SRobert Mustacchi 
141*d14abf15SRobert Mustacchi // FCoE number of rows (in log). This number derives
142*d14abf15SRobert Mustacchi // from the maximum connections supported which is 2048.
143*d14abf15SRobert Mustacchi // TBA: Need a different constant for E2
144*d14abf15SRobert Mustacchi #define FCOE_MAX_NUM_SESSIONS_LOG		11
145*d14abf15SRobert Mustacchi 
146*d14abf15SRobert Mustacchi // Maximum possible number of EQ pages per function
147*d14abf15SRobert Mustacchi #define FCOE_MAX_EQ_PAGES_PER_FUNC          40
148*d14abf15SRobert Mustacchi 
149*d14abf15SRobert Mustacchi #define FC_ABTS_REPLY_MAX_PAYLOAD_LEN	12
150*d14abf15SRobert Mustacchi 
151*d14abf15SRobert Mustacchi // Error codes for Error Reporting in slow path flows
152*d14abf15SRobert Mustacchi #define FCOE_SLOW_PATH_ERROR_CODE_TOO_MANY_FUNCS			0
153*d14abf15SRobert Mustacchi #define FCOE_SLOW_PATH_ERROR_CODE_NO_LICENSE				1
154*d14abf15SRobert Mustacchi #define FCOE_SLOW_PATH_ERROR_CODE_TOO_MANY_TASKS			2
155*d14abf15SRobert Mustacchi 
156*d14abf15SRobert Mustacchi // Error codes for Error Reporting in fast path flows
157*d14abf15SRobert Mustacchi // XFER error codes
158*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_OOO_RO							0
159*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_RO_NOT_ALIGNED					1
160*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_NULL_BURST_LEN					2
161*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_RO_GREATER_THAN_DATA2TRNS		3
162*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_INVALID_PAYLOAD_SIZE			4
163*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_TASK_TYPE_NOT_WRITE			5
164*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_PEND_XFER_SET					6
165*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_OPENED_SEQ						7
166*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_XFER_FCTL							8
167*d14abf15SRobert Mustacchi 
168*d14abf15SRobert Mustacchi // FCP RSP error codes
169*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_BIDI_FLAGS_SET				9
170*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_UNDERFLOW					10
171*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_OVERFLOW					11
172*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_INVALID_LENGTH_FIELD		12
173*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_INVALID_SNS_FIELD			13
174*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_INVALID_PAYLOAD_SIZE		14
175*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_PEND_XFER_SET				15
176*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_OPENED_SEQ					16
177*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_FCTL						17
178*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_LAST_SEQ_RESET				18
179*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_FCP_RSP_CONF_REQ_NOT_SUPPORTED_YET	19
180*d14abf15SRobert Mustacchi 
181*d14abf15SRobert Mustacchi // FCP DATA error codes
182*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_OOO_RO							20
183*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_EXCEEDS_DEFINED_MAX_FRAME_SIZE	21
184*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_EXCEEDS_DATA2TRNS				22
185*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_SOFI3_SEQ_ACTIVE_SET			23
186*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_SOFN_SEQ_ACTIVE_RESET			24
187*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_EOFN_END_SEQ_SET				25
188*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_EOFT_END_SEQ_RESET				26
189*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_TASK_TYPE_NOT_READ				27
190*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_DATA_FCTL							28
191*d14abf15SRobert Mustacchi 
192*d14abf15SRobert Mustacchi // Middle path error codes
193*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_INVALID_TYPE				29
194*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_SOFI3_SEQ_ACTIVE_SET		30
195*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_SOFN_SEQ_ACTIVE_RESET		31
196*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_EOFN_END_SEQ_SET			32
197*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_EOFT_END_SEQ_RESET			33
198*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_REPLY_FCTL				34
199*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_INVALID_REPLY				35
200*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_MIDPATH_ELS_REPLY_RCTL				36
201*d14abf15SRobert Mustacchi 
202*d14abf15SRobert Mustacchi // ABTS error codes
203*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_ABTS_REPLY_F_CTL					37
204*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_ABTS_REPLY_DDF_RCTL_FIELD			38
205*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_ABTS_REPLY_INVALID_BLS_RCTL			39
206*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_ABTS_REPLY_INVALID_RCTL				40
207*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_ABTS_REPLY_RCTL_GENERAL_MISMATCH	41
208*d14abf15SRobert Mustacchi 
209*d14abf15SRobert Mustacchi // Common error codes
210*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_MIDDLE_FRAME_WITH_PAD			42
211*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_SEQ_INIT_IN_TCE					43
212*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_FC_HDR_RX_ID_MISMATCH			44
213*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_INCORRECT_SEQ_CNT				45
214*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_DATA_FC_HDR_FCP_TYPE_MISMATCH	46
215*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_DATA_NO_MORE_SGES				47
216*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_OPTIONAL_FC_HDR					48
217*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_READ_TCE_OX_ID_TOO_BIG			49
218*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_COMMON_DATA_WAS_NOT_TRANSMITTED			50
219*d14abf15SRobert Mustacchi 
220*d14abf15SRobert Mustacchi // Unsolicited Rx error codes
221*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_UNSOLICITED_TYPE_NOT_ELS				51
222*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_UNSOLICITED_TYPE_NOT_BLS				52
223*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_UNSOLICITED_FCTL_ELS					53
224*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_UNSOLICITED_FCTL_BLS					54
225*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_UNSOLICITED_R_CTL						55
226*d14abf15SRobert Mustacchi 
227*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_RW_TASK_DDF_RCTL_INFO_FIELD				56
228*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_RW_TASK_INVALID_RCTL					57
229*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_RW_TASK_RCTL_GENERAL_MISMATCH			58
230*d14abf15SRobert Mustacchi 
231*d14abf15SRobert Mustacchi // Timer error codes
232*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_E_D_TOV_TIMER_EXPIRATION				60
233*d14abf15SRobert Mustacchi #define FCOE_ERROR_CODE_REC_TOV_TIMER_EXPIRATION				61
234*d14abf15SRobert Mustacchi 
235*d14abf15SRobert Mustacchi 
236*d14abf15SRobert Mustacchi #endif /*__57XX_FCOE_CONSTANTS_H_ */
237*d14abf15SRobert Mustacchi 
238