aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc.h
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2009-10-02 15:17:02 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 13:01:42 -0500
commit45ed119035b27f240345b06e090d559874e3677a (patch)
tree14466c52a644d73ea90f30b885cfe4e3fc88d12e /drivers/scsi/lpfc/lpfc.h
parent0d87841997125971b7a39d21d1435054f91884c3 (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.h9
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