aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ibmvscsi/ibmvfc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/ibmvscsi/ibmvfc.h')
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.h32
1 files changed, 18 insertions, 14 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.h b/drivers/scsi/ibmvscsi/ibmvfc.h
index fb3177ab6691..babdf3db59df 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.h
+++ b/drivers/scsi/ibmvscsi/ibmvfc.h
@@ -29,11 +29,11 @@
29#include "viosrp.h" 29#include "viosrp.h"
30 30
31#define IBMVFC_NAME "ibmvfc" 31#define IBMVFC_NAME "ibmvfc"
32#define IBMVFC_DRIVER_VERSION "1.0.2" 32#define IBMVFC_DRIVER_VERSION "1.0.4"
33#define IBMVFC_DRIVER_DATE "(August 14, 2008)" 33#define IBMVFC_DRIVER_DATE "(November 14, 2008)"
34 34
35#define IBMVFC_DEFAULT_TIMEOUT 15 35#define IBMVFC_DEFAULT_TIMEOUT 15
36#define IBMVFC_INIT_TIMEOUT 30 36#define IBMVFC_INIT_TIMEOUT 120
37#define IBMVFC_MAX_REQUESTS_DEFAULT 100 37#define IBMVFC_MAX_REQUESTS_DEFAULT 100
38 38
39#define IBMVFC_DEBUG 0 39#define IBMVFC_DEBUG 0
@@ -43,7 +43,8 @@
43#define IBMVFC_MAX_DISC_THREADS 4 43#define IBMVFC_MAX_DISC_THREADS 4
44#define IBMVFC_TGT_MEMPOOL_SZ 64 44#define IBMVFC_TGT_MEMPOOL_SZ 64
45#define IBMVFC_MAX_CMDS_PER_LUN 64 45#define IBMVFC_MAX_CMDS_PER_LUN 64
46#define IBMVFC_MAX_INIT_RETRIES 3 46#define IBMVFC_MAX_HOST_INIT_RETRIES 6
47#define IBMVFC_MAX_TGT_INIT_RETRIES 3
47#define IBMVFC_DEV_LOSS_TMO (5 * 60) 48#define IBMVFC_DEV_LOSS_TMO (5 * 60)
48#define IBMVFC_DEFAULT_LOG_LEVEL 2 49#define IBMVFC_DEFAULT_LOG_LEVEL 2
49#define IBMVFC_MAX_CDB_LEN 16 50#define IBMVFC_MAX_CDB_LEN 16
@@ -109,6 +110,7 @@ enum ibmvfc_vios_errors {
109 IBMVFC_TRANS_CANCELLED = 0x0006, 110 IBMVFC_TRANS_CANCELLED = 0x0006,
110 IBMVFC_TRANS_CANCELLED_IMPLICIT = 0x0007, 111 IBMVFC_TRANS_CANCELLED_IMPLICIT = 0x0007,
111 IBMVFC_INSUFFICIENT_RESOURCE = 0x0008, 112 IBMVFC_INSUFFICIENT_RESOURCE = 0x0008,
113 IBMVFC_PLOGI_REQUIRED = 0x0010,
112 IBMVFC_COMMAND_FAILED = 0x8000, 114 IBMVFC_COMMAND_FAILED = 0x8000,
113}; 115};
114 116
@@ -337,7 +339,6 @@ struct ibmvfc_tmf {
337#define IBMVFC_TMF_LUA_VALID 0x40 339#define IBMVFC_TMF_LUA_VALID 0x40
338 u32 cancel_key; 340 u32 cancel_key;
339 u32 my_cancel_key; 341 u32 my_cancel_key;
340#define IBMVFC_TMF_CANCEL_KEY 0x80000000
341 u32 pad; 342 u32 pad;
342 u64 reserved[2]; 343 u64 reserved[2];
343}__attribute__((packed, aligned (8))); 344}__attribute__((packed, aligned (8)));
@@ -524,10 +525,10 @@ enum ibmvfc_async_event {
524}; 525};
525 526
526struct ibmvfc_crq { 527struct ibmvfc_crq {
527 u8 valid; 528 volatile u8 valid;
528 u8 format; 529 volatile u8 format;
529 u8 reserved[6]; 530 u8 reserved[6];
530 u64 ioba; 531 volatile u64 ioba;
531}__attribute__((packed, aligned (8))); 532}__attribute__((packed, aligned (8)));
532 533
533struct ibmvfc_crq_queue { 534struct ibmvfc_crq_queue {
@@ -537,13 +538,13 @@ struct ibmvfc_crq_queue {
537}; 538};
538 539
539struct ibmvfc_async_crq { 540struct ibmvfc_async_crq {
540 u8 valid; 541 volatile u8 valid;
541 u8 pad[3]; 542 u8 pad[3];
542 u32 pad2; 543 u32 pad2;
543 u64 event; 544 volatile u64 event;
544 u64 scsi_id; 545 volatile u64 scsi_id;
545 u64 wwpn; 546 volatile u64 wwpn;
546 u64 node_name; 547 volatile u64 node_name;
547 u64 reserved; 548 u64 reserved;
548}__attribute__((packed, aligned (8))); 549}__attribute__((packed, aligned (8)));
549 550
@@ -606,6 +607,7 @@ struct ibmvfc_event {
606 struct srp_direct_buf *ext_list; 607 struct srp_direct_buf *ext_list;
607 dma_addr_t ext_list_token; 608 dma_addr_t ext_list_token;
608 struct completion comp; 609 struct completion comp;
610 struct completion *eh_comp;
609 struct timer_list timer; 611 struct timer_list timer;
610}; 612};
611 613
@@ -626,6 +628,7 @@ enum ibmvfc_host_action {
626 IBMVFC_HOST_ACTION_TGT_DEL, 628 IBMVFC_HOST_ACTION_TGT_DEL,
627 IBMVFC_HOST_ACTION_ALLOC_TGTS, 629 IBMVFC_HOST_ACTION_ALLOC_TGTS,
628 IBMVFC_HOST_ACTION_TGT_INIT, 630 IBMVFC_HOST_ACTION_TGT_INIT,
631 IBMVFC_HOST_ACTION_TGT_DEL_FAILED,
629 IBMVFC_HOST_ACTION_TGT_ADD, 632 IBMVFC_HOST_ACTION_TGT_ADD,
630}; 633};
631 634
@@ -671,6 +674,7 @@ struct ibmvfc_host {
671 int discovery_threads; 674 int discovery_threads;
672 int client_migrated; 675 int client_migrated;
673 int reinit; 676 int reinit;
677 int delay_init;
674 int events_to_log; 678 int events_to_log;
675#define IBMVFC_AE_LINKUP 0x0001 679#define IBMVFC_AE_LINKUP 0x0001
676#define IBMVFC_AE_LINKDOWN 0x0002 680#define IBMVFC_AE_LINKDOWN 0x0002
@@ -700,7 +704,7 @@ struct ibmvfc_host {
700 704
701#define ibmvfc_log(vhost, level, ...) \ 705#define ibmvfc_log(vhost, level, ...) \
702 do { \ 706 do { \
703 if (level >= (vhost)->log_level) \ 707 if ((vhost)->log_level >= level) \
704 dev_err((vhost)->dev, ##__VA_ARGS__); \ 708 dev_err((vhost)->dev, ##__VA_ARGS__); \
705 } while (0) 709 } while (0)
706 710