]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/ibmvscsi/ibmvfc.h
powerpc: Cleanup from l64 to ll64 change drivers/scsi
[linux-2.6-omap-h63xx.git] / drivers / scsi / ibmvscsi / ibmvfc.h
index c3696ce470bdb75449a2d2144d3058924c424909..87dafd0f8d4416b48e27bf08b3673d391a670abe 100644 (file)
 #include "viosrp.h"
 
 #define IBMVFC_NAME    "ibmvfc"
-#define IBMVFC_DRIVER_VERSION          "1.0.2"
-#define IBMVFC_DRIVER_DATE             "(August 14, 2008)"
+#define IBMVFC_DRIVER_VERSION          "1.0.4"
+#define IBMVFC_DRIVER_DATE             "(November 14, 2008)"
 
 #define IBMVFC_DEFAULT_TIMEOUT 15
-#define IBMVFC_INIT_TIMEOUT            30
+#define IBMVFC_INIT_TIMEOUT            120
 #define IBMVFC_MAX_REQUESTS_DEFAULT    100
 
 #define IBMVFC_DEBUG                   0
@@ -43,7 +43,8 @@
 #define IBMVFC_MAX_DISC_THREADS        4
 #define IBMVFC_TGT_MEMPOOL_SZ          64
 #define IBMVFC_MAX_CMDS_PER_LUN        64
-#define IBMVFC_MAX_INIT_RETRIES        3
+#define IBMVFC_MAX_HOST_INIT_RETRIES   6
+#define IBMVFC_MAX_TGT_INIT_RETRIES            3
 #define IBMVFC_DEV_LOSS_TMO            (5 * 60)
 #define IBMVFC_DEFAULT_LOG_LEVEL       2
 #define IBMVFC_MAX_CDB_LEN             16
@@ -109,6 +110,7 @@ enum ibmvfc_vios_errors {
        IBMVFC_TRANS_CANCELLED                  = 0x0006,
        IBMVFC_TRANS_CANCELLED_IMPLICIT = 0x0007,
        IBMVFC_INSUFFICIENT_RESOURCE            = 0x0008,
+       IBMVFC_PLOGI_REQUIRED                   = 0x0010,
        IBMVFC_COMMAND_FAILED                   = 0x8000,
 };
 
@@ -523,10 +525,10 @@ enum ibmvfc_async_event {
 };
 
 struct ibmvfc_crq {
-       u8 valid;
-       u8 format;
+       volatile u8 valid;
+       volatile u8 format;
        u8 reserved[6];
-       u64 ioba;
+       volatile u64 ioba;
 }__attribute__((packed, aligned (8)));
 
 struct ibmvfc_crq_queue {
@@ -536,13 +538,13 @@ struct ibmvfc_crq_queue {
 };
 
 struct ibmvfc_async_crq {
-       u8 valid;
+       volatile u8 valid;
        u8 pad[3];
        u32 pad2;
-       u64 event;
-       u64 scsi_id;
-       u64 wwpn;
-       u64 node_name;
+       volatile u64 event;
+       volatile u64 scsi_id;
+       volatile u64 wwpn;
+       volatile u64 node_name;
        u64 reserved;
 }__attribute__((packed, aligned (8)));
 
@@ -626,6 +628,7 @@ enum ibmvfc_host_action {
        IBMVFC_HOST_ACTION_TGT_DEL,
        IBMVFC_HOST_ACTION_ALLOC_TGTS,
        IBMVFC_HOST_ACTION_TGT_INIT,
+       IBMVFC_HOST_ACTION_TGT_DEL_FAILED,
        IBMVFC_HOST_ACTION_TGT_ADD,
 };
 
@@ -671,6 +674,7 @@ struct ibmvfc_host {
        int discovery_threads;
        int client_migrated;
        int reinit;
+       int delay_init;
        int events_to_log;
 #define IBMVFC_AE_LINKUP       0x0001
 #define IBMVFC_AE_LINKDOWN     0x0002
@@ -687,13 +691,13 @@ struct ibmvfc_host {
 #define DBG_CMD(CMD) do { if (ibmvfc_debug) CMD; } while (0)
 
 #define tgt_dbg(t, fmt, ...)                   \
-       DBG_CMD(dev_info((t)->vhost->dev, "%lX: " fmt, (t)->scsi_id, ##__VA_ARGS__))
+       DBG_CMD(dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__))
 
 #define tgt_info(t, fmt, ...)          \
-       dev_info((t)->vhost->dev, "%lX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
+       dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
 
 #define tgt_err(t, fmt, ...)           \
-       dev_err((t)->vhost->dev, "%lX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
+       dev_err((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
 
 #define ibmvfc_dbg(vhost, ...) \
        DBG_CMD(dev_info((vhost)->dev, ##__VA_ARGS__))