11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 2fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai * Copyright (c) 2001-2008 LSI Corporation. 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Name: mpi_raid.h 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Title: MPI RAID message and structures 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Creation Date: February 27, 2001 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 9fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai * mpi_raid.h Version: 01.05.05 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Version History 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * --------------- 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Date Version Description 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * -------- -------- ------------------------------------------------------ 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 02-27-01 01.01.01 Original release for this file. 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 03-27-01 01.01.02 Added structure offset comments. 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 08-08-01 01.02.01 Original release for v1.2 work. 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 09-28-01 01.02.02 Major rework for MPI v1.2 Integrated RAID changes. 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 10-04-01 01.02.03 Added ActionData defines for 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MPI_RAID_ACTION_DELETE_VOLUME action. 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 11-01-01 01.02.04 Added define for MPI_RAID_ACTION_ADATA_DO_NOT_SYNC. 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 03-14-02 01.02.05 Added define for MPI_RAID_ACTION_ADATA_LOW_LEVEL_INIT. 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 05-07-02 01.02.06 Added define for MPI_RAID_ACTION_ACTIVATE_VOLUME, 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MPI_RAID_ACTION_INACTIVATE_VOLUME, and 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MPI_RAID_ACTION_ADATA_INACTIVATE_ALL. 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 07-12-02 01.02.07 Added structures for Mailbox request and reply. 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 11-15-02 01.02.08 Added missing MsgContext field to MSG_MAILBOX_REQUEST. 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 04-01-03 01.02.09 New action data option flag for 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MPI_RAID_ACTION_DELETE_VOLUME. 31c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 05-11-04 01.03.01 Original release for MPI v1.3. 32c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 08-19-04 01.05.01 Original release for MPI v1.5. 33c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 01-15-05 01.05.02 Added defines for the two new RAID Actions for 34c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * _SET_RESYNC_RATE and _SET_DATA_SCRUB_RATE. 35d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore * 02-28-07 01.05.03 Added new RAID Action, Device FW Update Mode, and 36d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore * associated defines. 37fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai * 08-07-07 01.05.04 Added Disable Full Rebuild bit to the ActionDataWord 38fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai * for the RAID Action MPI_RAID_ACTION_DISABLE_VOLUME. 39fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai * 01-15-08 01.05.05 Added define for MPI_RAID_ACTION_SET_VOLUME_NAME. 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * -------------------------------------------------------------------------- 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef MPI_RAID_H 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_H 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************** 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds* 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds* R A I D M e s s a g e s 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds* 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds*******************************************************************************/ 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* RAID Action Request */ 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_RAID_ACTION 591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Action; /* 00h */ 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved1; /* 01h */ 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 VolumeID; /* 04h */ 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 VolumeBus; /* 05h */ 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 PhysDiskNum; /* 06h */ 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Reserved2; /* 0Ch */ 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 ActionDataWord; /* 10h */ 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SGE_SIMPLE_UNION ActionDataSGE; /* 14h */ 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_RAID_ACTION_REQUEST, MPI_POINTER PTR_MSG_RAID_ACTION_REQUEST, 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MpiRaidActionRequest_t , MPI_POINTER pMpiRaidActionRequest_t; 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* RAID Action request Action values */ 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_STATUS (0x00) 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_INDICATOR_STRUCT (0x01) 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_CREATE_VOLUME (0x02) 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_DELETE_VOLUME (0x03) 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_DISABLE_VOLUME (0x04) 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ENABLE_VOLUME (0x05) 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_QUIESCE_PHYS_IO (0x06) 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ENABLE_PHYS_IO (0x07) 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_CHANGE_VOLUME_SETTINGS (0x08) 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_PHYSDISK_OFFLINE (0x0A) 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_PHYSDISK_ONLINE (0x0B) 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_CHANGE_PHYSDISK_SETTINGS (0x0C) 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_CREATE_PHYSDISK (0x0D) 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_DELETE_PHYSDISK (0x0E) 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_FAIL_PHYSDISK (0x0F) 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_REPLACE_PHYSDISK (0x10) 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ACTIVATE_VOLUME (0x11) 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_INACTIVATE_VOLUME (0x12) 96c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_RAID_ACTION_SET_RESYNC_RATE (0x13) 97c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_RAID_ACTION_SET_DATA_SCRUB_RATE (0x14) 98d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore#define MPI_RAID_ACTION_DEVICE_FW_UPDATE_MODE (0x15) 99fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai#define MPI_RAID_ACTION_SET_VOLUME_NAME (0x16) 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ActionDataWord defines for use with MPI_RAID_ACTION_CREATE_VOLUME action */ 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_DO_NOT_SYNC (0x00000001) 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_LOW_LEVEL_INIT (0x00000002) 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ActionDataWord defines for use with MPI_RAID_ACTION_DELETE_VOLUME action */ 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_KEEP_PHYS_DISKS (0x00000000) 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_DEL_PHYS_DISKS (0x00000001) 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_KEEP_LBA0 (0x00000000) 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_ZERO_LBA0 (0x00000002) 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 112fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai/* ActionDataWord defines for use with MPI_RAID_ACTION_DISABLE_VOLUME action */ 113fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai#define MPI_RAID_ACTION_ADATA_DISABLE_FULL_REBUILD (0x00000001) 114fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai 1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ActionDataWord defines for use with MPI_RAID_ACTION_ACTIVATE_VOLUME action */ 1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ADATA_INACTIVATE_ALL (0x00000001) 1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 118c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/* ActionDataWord defines for use with MPI_RAID_ACTION_SET_RESYNC_RATE action */ 119c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_RAID_ACTION_ADATA_RESYNC_RATE_MASK (0x000000FF) 120c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 121c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/* ActionDataWord defines for use with MPI_RAID_ACTION_SET_DATA_SCRUB_RATE action */ 122c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_RAID_ACTION_ADATA_DATA_SCRUB_RATE_MASK (0x000000FF) 123c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 124d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore/* ActionDataWord defines for use with MPI_RAID_ACTION_DEVICE_FW_UPDATE_MODE action */ 125d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore#define MPI_RAID_ACTION_ADATA_ENABLE_FW_UPDATE (0x00000001) 126d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore#define MPI_RAID_ACTION_ADATA_MASK_FW_UPDATE_TIMEOUT (0x0000FF00) 127d16291b1f2656f2bb1beea5fcce3eb0d1546e981Eric Moore#define MPI_RAID_ACTION_ADATA_SHIFT_FW_UPDATE_TIMEOUT (8) 128c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* RAID Action reply message */ 1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_RAID_ACTION_REPLY 1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Action; /* 00h */ 1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgLength; /* 02h */ 1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 VolumeID; /* 04h */ 1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 VolumeBus; /* 05h */ 1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 PhysDiskNum; /* 06h */ 1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 ActionStatus; /* 0Ch */ 1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 IOCStatus; /* 0Eh */ 1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 IOCLogInfo; /* 10h */ 1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 VolumeStatus; /* 14h */ 1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 ActionData; /* 18h */ 1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_RAID_ACTION_REPLY, MPI_POINTER PTR_MSG_RAID_ACTION_REPLY, 1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MpiRaidActionReply_t, MPI_POINTER pMpiRaidActionReply_t; 1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* RAID Volume reply ActionStatus values */ 1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ASTATUS_SUCCESS (0x0000) 1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ASTATUS_INVALID_ACTION (0x0001) 1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ASTATUS_FAILURE (0x0002) 1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_RAID_ACTION_ASTATUS_IN_PROGRESS (0x0003) 1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* RAID Volume reply RAID Volume Indicator structure */ 1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MPI_RAID_VOL_INDICATOR 1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U64 TotalBlocks; /* 00h */ 1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U64 BlocksRemaining; /* 08h */ 1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MPI_RAID_VOL_INDICATOR, MPI_POINTER PTR_MPI_RAID_VOL_INDICATOR, 1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MpiRaidVolIndicator_t, MPI_POINTER pMpiRaidVolIndicator_t; 1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* SCSI IO RAID Passthrough Request */ 1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_SCSI_IO_RAID_PT_REQUEST 1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 PhysDiskNum; /* 00h */ 1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved1; /* 01h */ 1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 CDBLength; /* 04h */ 1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 SenseBufferLength; /* 05h */ 1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 1831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 LUN[8]; /* 0Ch */ 1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Control; /* 14h */ 1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 CDB[16]; /* 18h */ 1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 DataLength; /* 28h */ 1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 SenseBufferLowAddr; /* 2Ch */ 1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SGE_IO_UNION SGL; /* 30h */ 1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_SCSI_IO_RAID_PT_REQUEST, MPI_POINTER PTR_MSG_SCSI_IO_RAID_PT_REQUEST, 1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SCSIIORaidPassthroughRequest_t, MPI_POINTER pSCSIIORaidPassthroughRequest_t; 1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* SCSI IO RAID Passthrough reply structure */ 1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_SCSI_IO_RAID_PT_REPLY 1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 PhysDiskNum; /* 00h */ 2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved1; /* 01h */ 2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgLength; /* 02h */ 2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 CDBLength; /* 04h */ 2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 SenseBufferLength; /* 05h */ 2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 SCSIStatus; /* 0Ch */ 2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 SCSIState; /* 0Dh */ 2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 IOCStatus; /* 0Eh */ 2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 IOCLogInfo; /* 10h */ 2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 TransferCount; /* 14h */ 2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 SenseCount; /* 18h */ 2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 ResponseInfo; /* 1Ch */ 2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_SCSI_IO_RAID_PT_REPLY, MPI_POINTER PTR_MSG_SCSI_IO_RAID_PT_REPLY, 2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SCSIIORaidPassthroughReply_t, MPI_POINTER pSCSIIORaidPassthroughReply_t; 2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Mailbox reqeust structure */ 2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_MAILBOX_REQUEST 2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; 2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; 2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; 2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved2; 2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved3; 2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; 2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; 2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Command[10]; 2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved4; 2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SGE_IO_UNION SGL; 2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_MAILBOX_REQUEST, MPI_POINTER PTR_MSG_MAILBOX_REQUEST, 2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MailboxRequest_t, MPI_POINTER pMailboxRequest_t; 2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Mailbox reply structure */ 2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_MAILBOX_REPLY 2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 00h */ 2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgLength; /* 02h */ 2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved2; /* 04h */ 2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved3; /* 06h */ 2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 2481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 2491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 MailboxStatus; /* 0Ch */ 2501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 IOCStatus; /* 0Eh */ 2511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 IOCLogInfo; /* 10h */ 2521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Reserved4; /* 14h */ 2531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_MAILBOX_REPLY, MPI_POINTER PTR_MSG_MAILBOX_REPLY, 2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MailboxReply_t, MPI_POINTER pMailboxReply_t; 2551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 2571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 260