summaryrefslogtreecommitdiff
path: root/drivers/scsi/qla4xxx/ql4_def.h
diff options
context:
space:
mode:
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>2012-02-13 17:00:49 +0400
committerJames Bottomley <JBottomley@Parallels.com>2012-02-19 19:35:23 +0400
commitc0b9d3f750520ad3005b99144260e486ef01b5d9 (patch)
tree2c16adb36151017344dea7681e312fb4f68fd3d5 /drivers/scsi/qla4xxx/ql4_def.h
parentac20c7bf070df2b0feb410558ec4d75dbe59b701 (diff)
downloadlinux-c0b9d3f750520ad3005b99144260e486ef01b5d9.tar.xz
[SCSI] qla4xxx: Added ping support
Added ping support for network connection diagnostics. Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_def.h')
-rw-r--r--drivers/scsi/qla4xxx/ql4_def.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
index f91808ce572e..776714d2d70d 100644
--- a/drivers/scsi/qla4xxx/ql4_def.h
+++ b/drivers/scsi/qla4xxx/ql4_def.h
@@ -221,6 +221,15 @@ struct srb {
uint16_t reserved2;
};
+/* Mailbox request block structure */
+struct mrb {
+ struct scsi_qla_host *ha;
+ struct mbox_cmd_iocb *mbox;
+ uint32_t mbox_cmd;
+ uint16_t iocb_cnt; /* Number of used iocbs */
+ uint32_t pid;
+};
+
/*
* Asynchronous Event Queue structure
*/
@@ -303,6 +312,7 @@ struct ql4_tuple_ddb {
enum qla4_work_type {
QLA4_EVENT_AEN,
+ QLA4_EVENT_PING_STATUS,
};
struct qla4_work_evt {
@@ -314,6 +324,12 @@ struct qla4_work_evt {
uint32_t data_size;
uint8_t data[0];
} aen;
+ struct {
+ uint32_t status;
+ uint32_t pid;
+ uint32_t data_size;
+ uint8_t data[0];
+ } ping;
} u;
};
@@ -690,6 +706,11 @@ struct scsi_qla_host {
/* event work list */
struct list_head work_list;
spinlock_t work_lock;
+
+ /* mbox iocb */
+#define MAX_MRB 128
+ struct mrb *active_mrb_array[MAX_MRB];
+ uint32_t mrb_index;
};
struct ql4_task_data {