diff options
author | Eric Moore <eric.moore@lsi.com> | 2007-01-29 11:45:37 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-02-02 22:01:28 -0500 |
commit | b506ade9f3c309ac2ce3ffc4039f731097506038 (patch) | |
tree | 26ffb22dd5859977e92ca57f01033da69a6265f5 /drivers/message/fusion/mptbase.h | |
parent | c6c727a1a0ff90c80425b7226557b2354e00cf7b (diff) |
[SCSI] fusion - inactive raid support, and raid event bug fix's
inactive raid support, e.g. exposing hidden raid components
belonging to a volume that are inactive. Also misc bug fix's for
various raid asyn events.
Signed-off-by: Eric Moore <Eric.Moore@lsi.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 | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 3d613c4f93d9..07830d28e58d 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h | |||
@@ -485,10 +485,24 @@ typedef struct _SasCfgData { | |||
485 | */ | 485 | */ |
486 | }SasCfgData; | 486 | }SasCfgData; |
487 | 487 | ||
488 | /* | ||
489 | * Inactive volume link list of raid component data | ||
490 | * @inactive_list | ||
491 | */ | ||
492 | struct inactive_raid_component_info { | ||
493 | struct list_head list; | ||
494 | u8 volumeID; /* volume target id */ | ||
495 | u8 volumeBus; /* volume channel */ | ||
496 | IOC_3_PHYS_DISK d; /* phys disk info */ | ||
497 | }; | ||
498 | |||
488 | typedef struct _RaidCfgData { | 499 | typedef struct _RaidCfgData { |
489 | IOCPage2_t *pIocPg2; /* table of Raid Volumes */ | 500 | IOCPage2_t *pIocPg2; /* table of Raid Volumes */ |
490 | IOCPage3_t *pIocPg3; /* table of physical disks */ | 501 | IOCPage3_t *pIocPg3; /* table of physical disks */ |
491 | int isRaid; /* bit field, 1 if RAID */ | 502 | struct semaphore inactive_list_mutex; |
503 | struct list_head inactive_list; /* link list for physical | ||
504 | disk that belong in | ||
505 | inactive volumes */ | ||
492 | }RaidCfgData; | 506 | }RaidCfgData; |
493 | 507 | ||
494 | typedef struct _FcCfgData { | 508 | typedef struct _FcCfgData { |
@@ -611,6 +625,8 @@ typedef struct _MPT_ADAPTER | |||
611 | u8 persist_reply_frame[MPT_DEFAULT_FRAME_SIZE]; /* persist reply */ | 625 | u8 persist_reply_frame[MPT_DEFAULT_FRAME_SIZE]; /* persist reply */ |
612 | LANPage0_t lan_cnfg_page0; | 626 | LANPage0_t lan_cnfg_page0; |
613 | LANPage1_t lan_cnfg_page1; | 627 | LANPage1_t lan_cnfg_page1; |
628 | |||
629 | u8 ir_firmware; /* =1 if IR firmware detected */ | ||
614 | /* | 630 | /* |
615 | * Description: errata_flag_1064 | 631 | * Description: errata_flag_1064 |
616 | * If a PCIX read occurs within 1 or 2 cycles after the chip receives | 632 | * If a PCIX read occurs within 1 or 2 cycles after the chip receives |
@@ -1043,6 +1059,7 @@ extern void mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size); | |||
1043 | extern void mpt_free_fw_memory(MPT_ADAPTER *ioc); | 1059 | extern void mpt_free_fw_memory(MPT_ADAPTER *ioc); |
1044 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); | 1060 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); |
1045 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); | 1061 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); |
1062 | extern int mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, pRaidPhysDiskPage0_t phys_disk); | ||
1046 | 1063 | ||
1047 | /* | 1064 | /* |
1048 | * Public data decl's... | 1065 | * Public data decl's... |