aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptscsih.h
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2009-05-29 07:14:48 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-09 18:28:30 -0400
commit1ba9ab2eb2c53df52e498779e14cf4e5ea77b0ad (patch)
tree494361505cc5556ba4b843714c05d681506a846b /drivers/message/fusion/mptscsih.h
parent37c60f374a855974c27bd30d5662a8fa5e933792 (diff)
[SCSI] mpt fusion: rewrite taskmgmt request and completion routines
1.) rewrite taskmanagement request and completion routines, making them single threaded and using the generic MPT_MGMT struct, deleting mptscsih_TMHandler, replacing with single request TM handler mptscsih_IssueTaskMgmt, and killing the watchdog timer functions. 2.) cleanup ioc_reset callback handlers, introducing wrappers for synchronizing error recovery (mpt_set_taskmgmt_in_progress_flag, mpt_clear_taskmgmt_in_progress_flag), as the fusion firmware only handles one task management request at a time Signed-off-by: Kashyap Desai <kadesai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/message/fusion/mptscsih.h')
-rw-r--r--drivers/message/fusion/mptscsih.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptscsih.h b/drivers/message/fusion/mptscsih.h
index 0b103a2516ee..6ac5d4a5c4e8 100644
--- a/drivers/message/fusion/mptscsih.h
+++ b/drivers/message/fusion/mptscsih.h
@@ -113,6 +113,8 @@ extern int mptscsih_resume(struct pci_dev *pdev);
113extern int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int func); 113extern int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int func);
114extern const char * mptscsih_info(struct Scsi_Host *SChost); 114extern const char * mptscsih_info(struct Scsi_Host *SChost);
115extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)); 115extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *));
116extern int mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel,
117 u8 id, int lun, int ctx2abort, ulong timeout);
116extern void mptscsih_slave_destroy(struct scsi_device *device); 118extern void mptscsih_slave_destroy(struct scsi_device *device);
117extern int mptscsih_slave_configure(struct scsi_device *device); 119extern int mptscsih_slave_configure(struct scsi_device *device);
118extern int mptscsih_abort(struct scsi_cmnd * SCpnt); 120extern int mptscsih_abort(struct scsi_cmnd * SCpnt);
@@ -127,7 +129,6 @@ extern int mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pE
127extern int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset); 129extern int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset);
128extern int mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth); 130extern int mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth);
129extern void mptscsih_timer_expired(unsigned long data); 131extern void mptscsih_timer_expired(unsigned long data);
130extern int mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, int lun, int ctx2abort, ulong timeout);
131extern u8 mptscsih_raid_id_to_num(MPT_ADAPTER *ioc, u8 channel, u8 id); 132extern u8 mptscsih_raid_id_to_num(MPT_ADAPTER *ioc, u8 channel, u8 id);
132extern int mptscsih_is_phys_disk(MPT_ADAPTER *ioc, u8 channel, u8 id); 133extern int mptscsih_is_phys_disk(MPT_ADAPTER *ioc, u8 channel, u8 id);
133extern struct device_attribute *mptscsih_host_attrs[]; 134extern struct device_attribute *mptscsih_host_attrs[];