aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hw4.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw4.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_hw4.h49
1 files changed, 40 insertions, 9 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw4.h b/drivers/scsi/lpfc/lpfc_hw4.h
index e5bfa7f334e3..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
@@ -715,12 +734,20 @@ struct lpfc_register {
715#define lpfc_eqcq_doorbell_eqci_SHIFT 9 734#define lpfc_eqcq_doorbell_eqci_SHIFT 9
716#define lpfc_eqcq_doorbell_eqci_MASK 0x0001 735#define lpfc_eqcq_doorbell_eqci_MASK 0x0001
717#define lpfc_eqcq_doorbell_eqci_WORD word0 736#define lpfc_eqcq_doorbell_eqci_WORD word0
718#define lpfc_eqcq_doorbell_cqid_SHIFT 0 737#define lpfc_eqcq_doorbell_cqid_lo_SHIFT 0
719#define lpfc_eqcq_doorbell_cqid_MASK 0x03FF 738#define lpfc_eqcq_doorbell_cqid_lo_MASK 0x03FF
720#define lpfc_eqcq_doorbell_cqid_WORD word0 739#define lpfc_eqcq_doorbell_cqid_lo_WORD word0
721#define lpfc_eqcq_doorbell_eqid_SHIFT 0 740#define lpfc_eqcq_doorbell_cqid_hi_SHIFT 11
722#define lpfc_eqcq_doorbell_eqid_MASK 0x01FF 741#define lpfc_eqcq_doorbell_cqid_hi_MASK 0x001F
723#define lpfc_eqcq_doorbell_eqid_WORD word0 742#define lpfc_eqcq_doorbell_cqid_hi_WORD word0
743#define lpfc_eqcq_doorbell_eqid_lo_SHIFT 0
744#define lpfc_eqcq_doorbell_eqid_lo_MASK 0x01FF
745#define lpfc_eqcq_doorbell_eqid_lo_WORD word0
746#define lpfc_eqcq_doorbell_eqid_hi_SHIFT 11
747#define lpfc_eqcq_doorbell_eqid_hi_MASK 0x001F
748#define lpfc_eqcq_doorbell_eqid_hi_WORD word0
749#define LPFC_CQID_HI_FIELD_SHIFT 10
750#define LPFC_EQID_HI_FIELD_SHIFT 9
724 751
725#define LPFC_BMBX 0x0160 752#define LPFC_BMBX 0x0160
726#define lpfc_bmbx_addr_SHIFT 2 753#define lpfc_bmbx_addr_SHIFT 2
@@ -3313,7 +3340,11 @@ struct xmit_bls_rsp64_wqe {
3313 uint32_t rsrvd4; 3340 uint32_t rsrvd4;
3314 struct wqe_did wqe_dest; 3341 struct wqe_did wqe_dest;
3315 struct wqe_common wqe_com; /* words 6-11 */ 3342 struct wqe_common wqe_com; /* words 6-11 */
3316 uint32_t rsvd_12_15[4]; 3343 uint32_t word12;
3344#define xmit_bls_rsp64_temprpi_SHIFT 0
3345#define xmit_bls_rsp64_temprpi_MASK 0x0000ffff
3346#define xmit_bls_rsp64_temprpi_WORD word12
3347 uint32_t rsvd_13_15[3];
3317}; 3348};
3318 3349
3319struct wqe_rctl_dfctl { 3350struct wqe_rctl_dfctl {