aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
authorMadhuranath Iyengar <madhuranath.iyengar@qlogic.com>2010-05-04 18:01:29 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-05-16 18:21:57 -0400
commit3822263eb1e74821ad1ae886ddd2184ae9395ff7 (patch)
tree7b8ff05127a579bb0c3de9c8848f4052c0604d60 /drivers/scsi/qla2xxx/qla_def.h
parent4916392b56921b4aaaeaca3ef492135f42fbb5f2 (diff)
[SCSI] qla2xxx: Support for asynchronous TM and Marker IOCBs.
Currently we can only issue the task management (TM) commands via the mailbox mechanism. This is a limitation, since only one mailbox command can be issued at a time. The purpose of this effort is to provide support for issuing and processing the respose to TM and Marker IOCBs asynchronously. Towards achieving this, the consolidated srb architecture that is currently used for BSG and IOCB/Logio commands has been enhanced and used. Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 08f5fd5359dd..0d2cecbb8f47 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -223,6 +223,26 @@ struct srb_iocb {
223#define SRB_LOGIN_SKIP_PRLI BIT_2 223#define SRB_LOGIN_SKIP_PRLI BIT_2
224 uint16_t data[2]; 224 uint16_t data[2];
225 } logio; 225 } logio;
226 struct {
227 /*
228 * Values for flags field below are as
229 * defined in tsk_mgmt_entry struct
230 * for control_flags field in qla_fw.h.
231 */
232 uint32_t flags;
233 uint32_t lun;
234 uint32_t data;
235 } tmf;
236 struct {
237 /*
238 * values for modif field below are as
239 * defined in mrk_entry_24xx struct
240 * for the modifier field in qla_fw.h.
241 */
242 uint8_t modif;
243 uint16_t lun;
244 uint32_t data;
245 } marker;
226 } u; 246 } u;
227 247
228 struct timer_list timer; 248 struct timer_list timer;
@@ -239,6 +259,8 @@ struct srb_iocb {
239#define SRB_ELS_CMD_HST 4 259#define SRB_ELS_CMD_HST 4
240#define SRB_CT_CMD 5 260#define SRB_CT_CMD 5
241#define SRB_ADISC_CMD 6 261#define SRB_ADISC_CMD 6
262#define SRB_TM_CMD 7
263#define SRB_MARKER_CMD 8
242 264
243struct srb_ctx { 265struct srb_ctx {
244 uint16_t type; 266 uint16_t type;