diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2009-05-29 07:14:48 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-06-09 18:28:30 -0400 |
commit | 1ba9ab2eb2c53df52e498779e14cf4e5ea77b0ad (patch) | |
tree | 494361505cc5556ba4b843714c05d681506a846b /drivers/message/fusion/mptbase.h | |
parent | 37c60f374a855974c27bd30d5662a8fa5e933792 (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.h | 8 |
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); | |||
931 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); | 933 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); |
932 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); | 934 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); |
933 | extern int mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, pRaidPhysDiskPage0_t phys_disk); | 935 | extern int mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, pRaidPhysDiskPage0_t phys_disk); |
936 | extern int mpt_set_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc); | ||
937 | extern void mpt_clear_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc); | ||
934 | extern void mpt_halt_firmware(MPT_ADAPTER *ioc); | 938 | extern void mpt_halt_firmware(MPT_ADAPTER *ioc); |
935 | 939 | ||
936 | 940 | ||