diff options
author | James Smart <james.smart@emulex.com> | 2010-11-20 23:11:55 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-21 13:24:01 -0500 |
commit | 19ca760979e4be41a3eb215fb8d0e96637161947 (patch) | |
tree | de6c32815eb813ba770a26178c1612015acf719b /drivers/scsi/lpfc/lpfc_hw.h | |
parent | 76a95d75ede64e4f1684ddb8c626fdfdb641bda2 (diff) |
[SCSI] lpfc 8.3.19: Added support for ELS RRQ command
Added support for ELS RRQ command
- Add new routine lpfc_set_rrq_active() to track XRI qualifier state.
- Add new module parameter lpfc_enable_rrq to control RRQ operation.
- Add logic to ELS RRQ completion handler and xri qualifier timeout
to clear XRI qualifier state.
- Use OX_ID from XRI_ABORTED_CQE for RRQ payload.
- Tie abort and XRI_ABORTED_CQE andler to RRQ generation.
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hw.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index a253216e1f18..96ed3ba6ba95 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h | |||
@@ -880,6 +880,24 @@ struct RLS_RSP { /* Structure is in Big Endian format */ | |||
880 | uint32_t crcCnt; | 880 | uint32_t crcCnt; |
881 | }; | 881 | }; |
882 | 882 | ||
883 | struct RRQ { /* Structure is in Big Endian format */ | ||
884 | uint32_t rrq; | ||
885 | #define rrq_rsvd_SHIFT 24 | ||
886 | #define rrq_rsvd_MASK 0x000000ff | ||
887 | #define rrq_rsvd_WORD rrq | ||
888 | #define rrq_did_SHIFT 0 | ||
889 | #define rrq_did_MASK 0x00ffffff | ||
890 | #define rrq_did_WORD rrq | ||
891 | uint32_t rrq_exchg; | ||
892 | #define rrq_oxid_SHIFT 16 | ||
893 | #define rrq_oxid_MASK 0xffff | ||
894 | #define rrq_oxid_WORD rrq_exchg | ||
895 | #define rrq_rxid_SHIFT 0 | ||
896 | #define rrq_rxid_MASK 0xffff | ||
897 | #define rrq_rxid_WORD rrq_exchg | ||
898 | }; | ||
899 | |||
900 | |||
883 | struct RTV_RSP { /* Structure is in Big Endian format */ | 901 | struct RTV_RSP { /* Structure is in Big Endian format */ |
884 | uint32_t ratov; | 902 | uint32_t ratov; |
885 | uint32_t edtov; | 903 | uint32_t edtov; |