diff options
Diffstat (limited to 'drivers/message/fusion/mptsas.h')
-rw-r--r-- | drivers/message/fusion/mptsas.h | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/drivers/message/fusion/mptsas.h b/drivers/message/fusion/mptsas.h index 2b544e0877e6..953c2bfcf6aa 100644 --- a/drivers/message/fusion/mptsas.h +++ b/drivers/message/fusion/mptsas.h | |||
@@ -53,6 +53,7 @@ struct mptsas_target_reset_event { | |||
53 | struct list_head list; | 53 | struct list_head list; |
54 | EVENT_DATA_SAS_DEVICE_STATUS_CHANGE sas_event_data; | 54 | EVENT_DATA_SAS_DEVICE_STATUS_CHANGE sas_event_data; |
55 | u8 target_reset_issued; | 55 | u8 target_reset_issued; |
56 | unsigned long time_count; | ||
56 | }; | 57 | }; |
57 | 58 | ||
58 | enum mptsas_hotplug_action { | 59 | enum mptsas_hotplug_action { |
@@ -60,12 +61,37 @@ enum mptsas_hotplug_action { | |||
60 | MPTSAS_DEL_DEVICE, | 61 | MPTSAS_DEL_DEVICE, |
61 | MPTSAS_ADD_RAID, | 62 | MPTSAS_ADD_RAID, |
62 | MPTSAS_DEL_RAID, | 63 | MPTSAS_DEL_RAID, |
64 | MPTSAS_ADD_PHYSDISK, | ||
65 | MPTSAS_ADD_PHYSDISK_REPROBE, | ||
66 | MPTSAS_DEL_PHYSDISK, | ||
67 | MPTSAS_DEL_PHYSDISK_REPROBE, | ||
63 | MPTSAS_ADD_INACTIVE_VOLUME, | 68 | MPTSAS_ADD_INACTIVE_VOLUME, |
64 | MPTSAS_IGNORE_EVENT, | 69 | MPTSAS_IGNORE_EVENT, |
65 | }; | 70 | }; |
66 | 71 | ||
72 | struct mptsas_mapping{ | ||
73 | u8 id; | ||
74 | u8 channel; | ||
75 | }; | ||
76 | |||
77 | struct mptsas_device_info { | ||
78 | struct list_head list; | ||
79 | struct mptsas_mapping os; /* operating system mapping*/ | ||
80 | struct mptsas_mapping fw; /* firmware mapping */ | ||
81 | u64 sas_address; | ||
82 | u32 device_info; /* specific bits for devices */ | ||
83 | u16 slot; /* enclosure slot id */ | ||
84 | u64 enclosure_logical_id; /*enclosure address */ | ||
85 | u8 is_logical_volume; /* is this logical volume */ | ||
86 | /* this belongs to volume */ | ||
87 | u8 is_hidden_raid_component; | ||
88 | /* this valid when is_hidden_raid_component set */ | ||
89 | u8 volume_id; | ||
90 | /* cached data for a removed device */ | ||
91 | u8 is_cached; | ||
92 | }; | ||
93 | |||
67 | struct mptsas_hotplug_event { | 94 | struct mptsas_hotplug_event { |
68 | struct work_struct work; | ||
69 | MPT_ADAPTER *ioc; | 95 | MPT_ADAPTER *ioc; |
70 | enum mptsas_hotplug_action event_type; | 96 | enum mptsas_hotplug_action event_type; |
71 | u64 sas_address; | 97 | u64 sas_address; |
@@ -73,11 +99,18 @@ struct mptsas_hotplug_event { | |||
73 | u8 id; | 99 | u8 id; |
74 | u32 device_info; | 100 | u32 device_info; |
75 | u16 handle; | 101 | u16 handle; |
76 | u16 parent_handle; | ||
77 | u8 phy_id; | 102 | u8 phy_id; |
78 | u8 phys_disk_num_valid; /* hrc (hidden raid component) */ | ||
79 | u8 phys_disk_num; /* hrc - unique index*/ | 103 | u8 phys_disk_num; /* hrc - unique index*/ |
80 | u8 hidden_raid_component; /* hrc - don't expose*/ | 104 | struct scsi_device *sdev; |
105 | }; | ||
106 | |||
107 | struct fw_event_work { | ||
108 | struct list_head list; | ||
109 | struct delayed_work work; | ||
110 | MPT_ADAPTER *ioc; | ||
111 | u32 event; | ||
112 | u8 retries; | ||
113 | u8 event_data[1]; | ||
81 | }; | 114 | }; |
82 | 115 | ||
83 | struct mptsas_discovery_event { | 116 | struct mptsas_discovery_event { |