drivers/scsi/mpt3sas/mpi/mpi2_raid.h

Source file repositories/reference/linux-study-clean/drivers/scsi/mpt3sas/mpi/mpi2_raid.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/mpt3sas/mpi/mpi2_raid.h
Extension
.h
Size
13905 bytes
Lines
357
Domain
Driver Families
Bucket
drivers/scsi
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef MPI2_RAID_H
#define MPI2_RAID_H

/*****************************************************************************
*
*              Integrated RAID Messages
*
*****************************************************************************/

/****************************************************************************
* RAID Action messages
****************************************************************************/

/* ActionDataWord defines for use with MPI2_RAID_ACTION_CREATE_VOLUME action */
#define MPI25_RAID_ACTION_ADATA_ALLOW_PI            (0x80000000)

/*ActionDataWord defines for use with MPI2_RAID_ACTION_DELETE_VOLUME action */
#define MPI2_RAID_ACTION_ADATA_KEEP_LBA0            (0x00000000)
#define MPI2_RAID_ACTION_ADATA_ZERO_LBA0            (0x00000001)

/*use MPI2_RAIDVOL0_SETTING_ defines from mpi2_cnfg.h for
 *MPI2_RAID_ACTION_CHANGE_VOL_WRITE_CACHE action */

/*ActionDataWord defines for use with
 *MPI2_RAID_ACTION_DISABLE_ALL_VOLUMES action */
#define MPI2_RAID_ACTION_ADATA_DISABL_FULL_REBUILD  (0x00000001)

/*ActionDataWord for MPI2_RAID_ACTION_SET_RAID_FUNCTION_RATE Action */
typedef struct _MPI2_RAID_ACTION_RATE_DATA {
	U8 RateToChange;	/*0x00 */
	U8 RateOrMode;		/*0x01 */
	U16 DataScrubDuration;	/*0x02 */
} MPI2_RAID_ACTION_RATE_DATA, *PTR_MPI2_RAID_ACTION_RATE_DATA,
	Mpi2RaidActionRateData_t, *pMpi2RaidActionRateData_t;

#define MPI2_RAID_ACTION_SET_RATE_RESYNC            (0x00)
#define MPI2_RAID_ACTION_SET_RATE_DATA_SCRUB        (0x01)
#define MPI2_RAID_ACTION_SET_RATE_POWERSAVE_MODE    (0x02)

/*ActionDataWord for MPI2_RAID_ACTION_START_RAID_FUNCTION Action */
typedef struct _MPI2_RAID_ACTION_START_RAID_FUNCTION {
	U8 RAIDFunction;	/*0x00 */
	U8 Flags;		/*0x01 */
	U16 Reserved1;		/*0x02 */
} MPI2_RAID_ACTION_START_RAID_FUNCTION,
	*PTR_MPI2_RAID_ACTION_START_RAID_FUNCTION,
	Mpi2RaidActionStartRaidFunction_t,
	*pMpi2RaidActionStartRaidFunction_t;

/*defines for the RAIDFunction field */
#define MPI2_RAID_ACTION_START_BACKGROUND_INIT      (0x00)
#define MPI2_RAID_ACTION_START_ONLINE_CAP_EXPANSION (0x01)
#define MPI2_RAID_ACTION_START_CONSISTENCY_CHECK    (0x02)

/*defines for the Flags field */
#define MPI2_RAID_ACTION_START_NEW                  (0x00)
#define MPI2_RAID_ACTION_START_RESUME               (0x01)

/*ActionDataWord for MPI2_RAID_ACTION_STOP_RAID_FUNCTION Action */
typedef struct _MPI2_RAID_ACTION_STOP_RAID_FUNCTION {
	U8 RAIDFunction;	/*0x00 */
	U8 Flags;		/*0x01 */
	U16 Reserved1;		/*0x02 */
} MPI2_RAID_ACTION_STOP_RAID_FUNCTION,
	*PTR_MPI2_RAID_ACTION_STOP_RAID_FUNCTION,
	Mpi2RaidActionStopRaidFunction_t,
	*pMpi2RaidActionStopRaidFunction_t;

/*defines for the RAIDFunction field */
#define MPI2_RAID_ACTION_STOP_BACKGROUND_INIT       (0x00)
#define MPI2_RAID_ACTION_STOP_ONLINE_CAP_EXPANSION  (0x01)
#define MPI2_RAID_ACTION_STOP_CONSISTENCY_CHECK     (0x02)

/*defines for the Flags field */
#define MPI2_RAID_ACTION_STOP_ABORT                 (0x00)
#define MPI2_RAID_ACTION_STOP_PAUSE                 (0x01)

/*ActionDataWord for MPI2_RAID_ACTION_CREATE_HOT_SPARE Action */
typedef struct _MPI2_RAID_ACTION_HOT_SPARE {
	U8 HotSparePool;	/*0x00 */
	U8 Reserved1;		/*0x01 */
	U16 DevHandle;		/*0x02 */
} MPI2_RAID_ACTION_HOT_SPARE, *PTR_MPI2_RAID_ACTION_HOT_SPARE,
	Mpi2RaidActionHotSpare_t, *pMpi2RaidActionHotSpare_t;

/*ActionDataWord for MPI2_RAID_ACTION_DEVICE_FW_UPDATE_MODE Action */
typedef struct _MPI2_RAID_ACTION_FW_UPDATE_MODE {
	U8 Flags;		/*0x00 */
	U8 DeviceFirmwareUpdateModeTimeout;	/*0x01 */
	U16 Reserved1;		/*0x02 */

Annotation

Implementation Notes