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.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.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index e5ebb5343421..ebeddbe86e67 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
@@ -110,6 +110,7 @@ struct hbq_dmabuf { | |||
110 | uint32_t size; | 110 | uint32_t size; |
111 | uint32_t tag; | 111 | uint32_t tag; |
112 | struct lpfc_cq_event cq_event; | 112 | struct lpfc_cq_event cq_event; |
113 | unsigned long time_stamp; | ||
113 | }; | 114 | }; |
114 | 115 | ||
115 | /* Priority bit. Set value to exceed low water mark in lpfc_mem. */ | 116 | /* Priority bit. Set value to exceed low water mark in lpfc_mem. */ |
@@ -405,6 +406,7 @@ struct lpfc_vport { | |||
405 | uint8_t stat_data_enabled; | 406 | uint8_t stat_data_enabled; |
406 | uint8_t stat_data_blocked; | 407 | uint8_t stat_data_blocked; |
407 | struct list_head rcv_buffer_list; | 408 | struct list_head rcv_buffer_list; |
409 | unsigned long rcv_buffer_time_stamp; | ||
408 | uint32_t vport_flag; | 410 | uint32_t vport_flag; |
409 | #define STATIC_VPORT 1 | 411 | #define STATIC_VPORT 1 |
410 | }; | 412 | }; |
@@ -527,14 +529,16 @@ struct lpfc_hba { | |||
527 | #define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */ | 529 | #define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */ |
528 | #define DEFER_ERATT 0x2 /* Deferred error attention in progress */ | 530 | #define DEFER_ERATT 0x2 /* Deferred error attention in progress */ |
529 | #define HBA_FCOE_SUPPORT 0x4 /* HBA function supports FCOE */ | 531 | #define HBA_FCOE_SUPPORT 0x4 /* HBA function supports FCOE */ |
530 | #define HBA_RECEIVE_BUFFER 0x8 /* Rcv buffer posted to worker thread */ | 532 | #define HBA_SP_QUEUE_EVT 0x8 /* Slow-path qevt posted to worker thread*/ |
531 | #define HBA_POST_RECEIVE_BUFFER 0x10 /* Rcv buffers need to be posted */ | 533 | #define HBA_POST_RECEIVE_BUFFER 0x10 /* Rcv buffers need to be posted */ |
532 | #define FCP_XRI_ABORT_EVENT 0x20 | 534 | #define FCP_XRI_ABORT_EVENT 0x20 |
533 | #define ELS_XRI_ABORT_EVENT 0x40 | 535 | #define ELS_XRI_ABORT_EVENT 0x40 |
534 | #define ASYNC_EVENT 0x80 | 536 | #define ASYNC_EVENT 0x80 |
535 | #define LINK_DISABLED 0x100 /* Link disabled by user */ | 537 | #define LINK_DISABLED 0x100 /* Link disabled by user */ |
536 | #define FCF_DISC_INPROGRESS 0x200 /* FCF discovery in progress */ | 538 | #define FCF_DISC_INPROGRESS 0x200 /* FCF discovery in progress */ |
537 | #define HBA_AER_ENABLED 0x800 /* AER enabled with HBA */ | 539 | #define HBA_FIP_SUPPORT 0x400 /* FIP support in HBA */ |
540 | #define HBA_AER_ENABLED 0x800 /* AER enabled with HBA */ | ||
541 | uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/ | ||
538 | struct lpfc_dmabuf slim2p; | 542 | struct lpfc_dmabuf slim2p; |
539 | 543 | ||
540 | MAILBOX_t *mbox; | 544 | MAILBOX_t *mbox; |
@@ -606,7 +610,6 @@ struct lpfc_hba { | |||
606 | uint32_t cfg_enable_hba_reset; | 610 | uint32_t cfg_enable_hba_reset; |
607 | uint32_t cfg_enable_hba_heartbeat; | 611 | uint32_t cfg_enable_hba_heartbeat; |
608 | uint32_t cfg_enable_bg; | 612 | uint32_t cfg_enable_bg; |
609 | uint32_t cfg_enable_fip; | ||
610 | uint32_t cfg_log_verbose; | 613 | uint32_t cfg_log_verbose; |
611 | uint32_t cfg_aer_support; | 614 | uint32_t cfg_aer_support; |
612 | 615 | ||