aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptbase.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/mptbase.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/mptbase.h')
-rw-r--r--drivers/message/fusion/mptbase.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
index 4d77256954f9..2129aff294d5 100644
--- a/drivers/message/fusion/mptbase.h
+++ b/drivers/message/fusion/mptbase.h
@@ -657,8 +657,6 @@ typedef struct _MPT_ADAPTER
657 MPT_IOCTL *ioctl; /* ioctl data pointer */ 657 MPT_IOCTL *ioctl; /* ioctl data pointer */
658 struct proc_dir_entry *ioc_dentry; 658 struct proc_dir_entry *ioc_dentry;
659 struct _MPT_ADAPTER *alt_ioc; /* ptr to 929 bound adapter port */ 659 struct _MPT_ADAPTER *alt_ioc; /* ptr to 929 bound adapter port */
660 spinlock_t diagLock; /* diagnostic reset lock */
661 int diagPending;
662 u32 biosVersion; /* BIOS version from IO Unit Page 2 */ 660 u32 biosVersion; /* BIOS version from IO Unit Page 2 */
663 int eventTypes; /* Event logging parameters */ 661 int eventTypes; /* Event logging parameters */
664 int eventContext; /* Next event context */ 662 int eventContext; /* Next event context */
@@ -712,6 +710,10 @@ typedef struct _MPT_ADAPTER
712 MPT_MGMT sas_mgmt; 710 MPT_MGMT sas_mgmt;
713 MPT_MGMT mptbase_cmds; /* for sending config pages */ 711 MPT_MGMT mptbase_cmds; /* for sending config pages */
714 MPT_MGMT internal_cmds; 712 MPT_MGMT internal_cmds;
713 MPT_MGMT taskmgmt_cmds;
714 spinlock_t taskmgmt_lock; /* diagnostic reset lock */
715 int taskmgmt_in_progress;
716 u8 ioc_reset_in_progress;
715 struct work_struct sas_persist_task; 717 struct work_struct sas_persist_task;
716 718
717 struct work_struct fc_setup_reset_work; 719 struct work_struct fc_setup_reset_work;
@@ -931,6 +933,8 @@ extern void mpt_free_fw_memory(MPT_ADAPTER *ioc);
931extern int mpt_findImVolumes(MPT_ADAPTER *ioc); 933extern int mpt_findImVolumes(MPT_ADAPTER *ioc);
932extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); 934extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode);
933extern int mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, pRaidPhysDiskPage0_t phys_disk); 935extern int mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, pRaidPhysDiskPage0_t phys_disk);
936extern int mpt_set_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc);
937extern void mpt_clear_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc);
934extern void mpt_halt_firmware(MPT_ADAPTER *ioc); 938extern void mpt_halt_firmware(MPT_ADAPTER *ioc);
935 939
936 940