diff options
author | James Smart <James.Smart@Emulex.Com> | 2009-10-02 15:17:02 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-12-04 13:01:42 -0500 |
commit | 45ed119035b27f240345b06e090d559874e3677a (patch) | |
tree | 14466c52a644d73ea90f30b885cfe4e3fc88d12e /drivers/scsi/lpfc/lpfc_crtn.h | |
parent | 0d87841997125971b7a39d21d1435054f91884c3 (diff) |
[SCSI] lpfc 8.3.5: fix fcp command polling, add FIP mode, performance optimisations and devloss timout fixes
This patch includes the following changes:
- Fixed Panic/Hang when using polling mode for fcp commands
- Added support for Read_rev mbox bits indicating FIP mode of HBA
- Optimize performance of slow-path handling of els responses
- Add code to cleanup orphaned unsolicited receive sequences
- Fixed Devloss timeout when multiple initiators are in same zone
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_crtn.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index 0d450ae3a2d4..650494d622c1 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -49,6 +49,8 @@ void lpfc_init_link(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t, uint32_t); | |||
49 | void lpfc_request_features(struct lpfc_hba *, struct lpfcMboxq *); | 49 | void lpfc_request_features(struct lpfc_hba *, struct lpfcMboxq *); |
50 | 50 | ||
51 | struct lpfc_vport *lpfc_find_vport_by_did(struct lpfc_hba *, uint32_t); | 51 | struct lpfc_vport *lpfc_find_vport_by_did(struct lpfc_hba *, uint32_t); |
52 | void lpfc_cleanup_rcv_buffers(struct lpfc_vport *); | ||
53 | void lpfc_rcv_seq_check_edtov(struct lpfc_vport *); | ||
52 | void lpfc_cleanup_rpis(struct lpfc_vport *, int); | 54 | void lpfc_cleanup_rpis(struct lpfc_vport *, int); |
53 | int lpfc_linkdown(struct lpfc_hba *); | 55 | int lpfc_linkdown(struct lpfc_hba *); |
54 | void lpfc_linkdown_port(struct lpfc_vport *); | 56 | void lpfc_linkdown_port(struct lpfc_vport *); |
@@ -214,7 +216,10 @@ void lpfc_stop_vport_timers(struct lpfc_vport *); | |||
214 | void lpfc_poll_timeout(unsigned long ptr); | 216 | void lpfc_poll_timeout(unsigned long ptr); |
215 | void lpfc_poll_start_timer(struct lpfc_hba *); | 217 | void lpfc_poll_start_timer(struct lpfc_hba *); |
216 | void lpfc_poll_eratt(unsigned long); | 218 | void lpfc_poll_eratt(unsigned long); |
217 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba *); | 219 | int |
220 | lpfc_sli_handle_fast_ring_event(struct lpfc_hba *, | ||
221 | struct lpfc_sli_ring *, uint32_t); | ||
222 | |||
218 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); | 223 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); |
219 | void lpfc_sli_release_iocbq(struct lpfc_hba *, struct lpfc_iocbq *); | 224 | void lpfc_sli_release_iocbq(struct lpfc_hba *, struct lpfc_iocbq *); |
220 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba *, struct lpfc_iocbq *); | 225 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba *, struct lpfc_iocbq *); |