summaryrefslogtreecommitdiff
path: root/drivers/message/fusion/mptbase.h
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2009-05-29 15:14:06 +0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-10 02:27:49 +0400
commit37c60f374a855974c27bd30d5662a8fa5e933792 (patch)
tree98e1ee9a5f54152a7dfaf9f320a87fde791f544e /drivers/message/fusion/mptbase.h
parentf0f09d3b3f06900d64971625d6753dea0623ed45 (diff)
downloadlinux-37c60f374a855974c27bd30d5662a8fa5e933792.tar.xz
[SCSI] mpt fusion: rewrite of all internal generated functions
Rewrite of all internal generated functions that issue commands to firmware, porting them to be single threaded using the generic MPT_MGMT struct. Implemented using completion Queue. Signed-off-by: Kashyap Desai <kadesai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r--drivers/message/fusion/mptbase.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
index 41273fff4b01..4d77256954f9 100644
--- a/drivers/message/fusion/mptbase.h
+++ b/drivers/message/fusion/mptbase.h
@@ -465,7 +465,9 @@ typedef struct _MPT_MGMT {
struct mutex mutex;
struct completion done;
u8 reply[MPT_DEFAULT_FRAME_SIZE]; /* reply frame data */
+ u8 sense[MPT_SENSE_BUFFER_ALLOC];
u8 status; /* current command status */
+ int completion_code;
} MPT_MGMT;
/*
@@ -709,6 +711,7 @@ typedef struct _MPT_ADAPTER
int sas_index; /* index refrencing */
MPT_MGMT sas_mgmt;
MPT_MGMT mptbase_cmds; /* for sending config pages */
+ MPT_MGMT internal_cmds;
struct work_struct sas_persist_task;
struct work_struct fc_setup_reset_work;
@@ -863,8 +866,6 @@ typedef struct _MPT_SCSI_HOST {
unsigned long timeouts; /* cmd timeouts */
ushort sel_timeout[MPT_MAX_FC_DEVICES];
char *info_kbuf;
- wait_queue_head_t scandv_waitq;
- int scandv_wait_done;
long last_queue_full;
u16 tm_iocstatus;
u16 spi_pending;