diff options
author | Eric Moore <eric.moore@lsil.com> | 2006-06-27 16:42:12 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-06-28 12:41:33 -0400 |
commit | 547f9a218436ea35baf9a52e981753e44d9cff1f (patch) | |
tree | 59a13af4b90e3f51bf2ca795765161062e44518a /drivers/message/fusion/mptbase.h | |
parent | 65c92b09acf0218b64f1c7ba4fdabeb8b732c876 (diff) |
[SCSI] mptsas: wide port support
* Wide port support added - using James Bottomley's new SAS wide port API.
(There is a known problem in sas transport layer reported yesterday to
James. The Kobject dev.bus_ids for end devices are not unique across
expanders. I have added a work around in this patch, where I asigning
an unique port identifier for every port within the host - this solves
the problem, but I expect a fix from James in the sas transport).
* Adding target_alloc and target_destroy entry points, and moving code over
from the slave entry points.
* The renaming of some mptscsih_xxx functions declared in mptsas.c,
to mptsas_xxx.
* Target Reset moved from slave_destroy to hotplug work thread
handling (with regard to device removal). Also inhibit IO to end device
while device is being broken down . Talked to James Smart about this
at Linux Expo (with questions of how the fc transport handles this).
* Cleaning up the kzalloc's, and kfree's
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r-- | drivers/message/fusion/mptbase.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 4720f9ae86aa..ddef586e09e1 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h | |||
@@ -76,8 +76,8 @@ | |||
76 | #define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR | 76 | #define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR |
77 | #endif | 77 | #endif |
78 | 78 | ||
79 | #define MPT_LINUX_VERSION_COMMON "3.03.10" | 79 | #define MPT_LINUX_VERSION_COMMON "3.04.00" |
80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.10" | 80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.04.00" |
81 | #define WHAT_MAGIC_STRING "@" "(" "#" ")" | 81 | #define WHAT_MAGIC_STRING "@" "(" "#" ")" |
82 | 82 | ||
83 | #define show_mptmod_ver(s,ver) \ | 83 | #define show_mptmod_ver(s,ver) \ |
@@ -342,6 +342,7 @@ typedef struct _VirtTarget { | |||
342 | u8 negoFlags; /* bit field, see above */ | 342 | u8 negoFlags; /* bit field, see above */ |
343 | u8 raidVolume; /* set, if RAID Volume */ | 343 | u8 raidVolume; /* set, if RAID Volume */ |
344 | u8 type; /* byte 0 of Inquiry data */ | 344 | u8 type; /* byte 0 of Inquiry data */ |
345 | u8 deleted; /* target in process of being removed */ | ||
345 | u32 num_luns; | 346 | u32 num_luns; |
346 | u32 luns[8]; /* Max LUNs is 256 */ | 347 | u32 luns[8]; /* Max LUNs is 256 */ |
347 | } VirtTarget; | 348 | } VirtTarget; |
@@ -633,7 +634,7 @@ typedef struct _MPT_ADAPTER | |||
633 | int sas_index; /* index refrencing */ | 634 | int sas_index; /* index refrencing */ |
634 | MPT_SAS_MGMT sas_mgmt; | 635 | MPT_SAS_MGMT sas_mgmt; |
635 | int num_ports; | 636 | int num_ports; |
636 | struct work_struct mptscsih_persistTask; | 637 | struct work_struct sas_persist_task; |
637 | 638 | ||
638 | struct work_struct fc_setup_reset_work; | 639 | struct work_struct fc_setup_reset_work; |
639 | struct list_head fc_rports; | 640 | struct list_head fc_rports; |
@@ -642,6 +643,7 @@ typedef struct _MPT_ADAPTER | |||
642 | struct work_struct fc_rescan_work; | 643 | struct work_struct fc_rescan_work; |
643 | char fc_rescan_work_q_name[KOBJ_NAME_LEN]; | 644 | char fc_rescan_work_q_name[KOBJ_NAME_LEN]; |
644 | struct workqueue_struct *fc_rescan_work_q; | 645 | struct workqueue_struct *fc_rescan_work_q; |
646 | u8 port_serial_number; | ||
645 | } MPT_ADAPTER; | 647 | } MPT_ADAPTER; |
646 | 648 | ||
647 | /* | 649 | /* |
@@ -893,6 +895,13 @@ typedef struct _mpt_sge { | |||
893 | #define DBG_DUMP_REQUEST_FRAME_HDR(mfp) | 895 | #define DBG_DUMP_REQUEST_FRAME_HDR(mfp) |
894 | #endif | 896 | #endif |
895 | 897 | ||
898 | // debug sas wide ports | ||
899 | #ifdef MPT_DEBUG_SAS_WIDE | ||
900 | #define dsaswideprintk(x) printk x | ||
901 | #else | ||
902 | #define dsaswideprintk(x) | ||
903 | #endif | ||
904 | |||
896 | 905 | ||
897 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 906 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
898 | 907 | ||