diff options
author | James Smart <james.smart@emulex.com> | 2012-01-18 16:25:09 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-19 09:08:52 -0500 |
commit | acd6859b084d1e1b3ec8bc9befe6532223260d33 (patch) | |
tree | e06983f9b080226622fa06c071f3223caac4c7fd /drivers/scsi/lpfc/lpfc_hw4.h | |
parent | 6b5151fd7baec6812fece993ddd7a2cf9fd0125f (diff) |
[SCSI] lpfc 8.3.29: T10 Diff fixes and enhancements
T10 Diff fixes and enhancements:
- Add SLI4 Lancer support for T10 DIF / BlockGuard (121980)
- Fix SLI4 BlockGuard behavior when protection data is generated by HBA (121980)
- Enhance debugfs for injecting T10 DIF errors (123966, 132966)
- Fix Incorrect usage of bghm for BlockGuard errors (127022)
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw4.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hw4.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw4.h b/drivers/scsi/lpfc/lpfc_hw4.h index cc19bc1b5ace..9e2b9b227e1a 100644 --- a/drivers/scsi/lpfc/lpfc_hw4.h +++ b/drivers/scsi/lpfc/lpfc_hw4.h | |||
@@ -321,6 +321,10 @@ struct lpfc_cqe { | |||
321 | #define CQE_STATUS_CMD_REJECT 0xb | 321 | #define CQE_STATUS_CMD_REJECT 0xb |
322 | #define CQE_STATUS_FCP_TGT_LENCHECK 0xc | 322 | #define CQE_STATUS_FCP_TGT_LENCHECK 0xc |
323 | #define CQE_STATUS_NEED_BUFF_ENTRY 0xf | 323 | #define CQE_STATUS_NEED_BUFF_ENTRY 0xf |
324 | #define CQE_STATUS_DI_ERROR 0x16 | ||
325 | |||
326 | /* Used when mapping CQE status to IOCB */ | ||
327 | #define LPFC_IOCB_STATUS_MASK 0xf | ||
324 | 328 | ||
325 | /* Status returned by hardware (valid only if status = CQE_STATUS_SUCCESS). */ | 329 | /* Status returned by hardware (valid only if status = CQE_STATUS_SUCCESS). */ |
326 | #define CQE_HW_STATUS_NO_ERR 0x0 | 330 | #define CQE_HW_STATUS_NO_ERR 0x0 |
@@ -348,6 +352,21 @@ struct lpfc_wcqe_complete { | |||
348 | #define lpfc_wcqe_c_hw_status_WORD word0 | 352 | #define lpfc_wcqe_c_hw_status_WORD word0 |
349 | uint32_t total_data_placed; | 353 | uint32_t total_data_placed; |
350 | uint32_t parameter; | 354 | uint32_t parameter; |
355 | #define lpfc_wcqe_c_bg_edir_SHIFT 5 | ||
356 | #define lpfc_wcqe_c_bg_edir_MASK 0x00000001 | ||
357 | #define lpfc_wcqe_c_bg_edir_WORD parameter | ||
358 | #define lpfc_wcqe_c_bg_tdpv_SHIFT 3 | ||
359 | #define lpfc_wcqe_c_bg_tdpv_MASK 0x00000001 | ||
360 | #define lpfc_wcqe_c_bg_tdpv_WORD parameter | ||
361 | #define lpfc_wcqe_c_bg_re_SHIFT 2 | ||
362 | #define lpfc_wcqe_c_bg_re_MASK 0x00000001 | ||
363 | #define lpfc_wcqe_c_bg_re_WORD parameter | ||
364 | #define lpfc_wcqe_c_bg_ae_SHIFT 1 | ||
365 | #define lpfc_wcqe_c_bg_ae_MASK 0x00000001 | ||
366 | #define lpfc_wcqe_c_bg_ae_WORD parameter | ||
367 | #define lpfc_wcqe_c_bg_ge_SHIFT 0 | ||
368 | #define lpfc_wcqe_c_bg_ge_MASK 0x00000001 | ||
369 | #define lpfc_wcqe_c_bg_ge_WORD parameter | ||
351 | uint32_t word3; | 370 | uint32_t word3; |
352 | #define lpfc_wcqe_c_valid_SHIFT lpfc_cqe_valid_SHIFT | 371 | #define lpfc_wcqe_c_valid_SHIFT lpfc_cqe_valid_SHIFT |
353 | #define lpfc_wcqe_c_valid_MASK lpfc_cqe_valid_MASK | 372 | #define lpfc_wcqe_c_valid_MASK lpfc_cqe_valid_MASK |
@@ -359,8 +378,8 @@ struct lpfc_wcqe_complete { | |||
359 | #define lpfc_wcqe_c_pv_MASK 0x00000001 | 378 | #define lpfc_wcqe_c_pv_MASK 0x00000001 |
360 | #define lpfc_wcqe_c_pv_WORD word3 | 379 | #define lpfc_wcqe_c_pv_WORD word3 |
361 | #define lpfc_wcqe_c_priority_SHIFT 24 | 380 | #define lpfc_wcqe_c_priority_SHIFT 24 |
362 | #define lpfc_wcqe_c_priority_MASK 0x00000007 | 381 | #define lpfc_wcqe_c_priority_MASK 0x00000007 |
363 | #define lpfc_wcqe_c_priority_WORD word3 | 382 | #define lpfc_wcqe_c_priority_WORD word3 |
364 | #define lpfc_wcqe_c_code_SHIFT lpfc_cqe_code_SHIFT | 383 | #define lpfc_wcqe_c_code_SHIFT lpfc_cqe_code_SHIFT |
365 | #define lpfc_wcqe_c_code_MASK lpfc_cqe_code_MASK | 384 | #define lpfc_wcqe_c_code_MASK lpfc_cqe_code_MASK |
366 | #define lpfc_wcqe_c_code_WORD lpfc_cqe_code_WORD | 385 | #define lpfc_wcqe_c_code_WORD lpfc_cqe_code_WORD |