1f11c7f63SJim Harris /*- 2*718cf2ccSPedro F. Giffuni * SPDX-License-Identifier: BSD-2-Clause OR GPL-2.0 3*718cf2ccSPedro F. Giffuni * 4f11c7f63SJim Harris * This file is provided under a dual BSD/GPLv2 license. When using or 5f11c7f63SJim Harris * redistributing this file, you may do so under either license. 6f11c7f63SJim Harris * 7f11c7f63SJim Harris * GPL LICENSE SUMMARY 8f11c7f63SJim Harris * 9f11c7f63SJim Harris * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 10f11c7f63SJim Harris * 11f11c7f63SJim Harris * This program is free software; you can redistribute it and/or modify 12f11c7f63SJim Harris * it under the terms of version 2 of the GNU General Public License as 13f11c7f63SJim Harris * published by the Free Software Foundation. 14f11c7f63SJim Harris * 15f11c7f63SJim Harris * This program is distributed in the hope that it will be useful, but 16f11c7f63SJim Harris * WITHOUT ANY WARRANTY; without even the implied warranty of 17f11c7f63SJim Harris * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18f11c7f63SJim Harris * General Public License for more details. 19f11c7f63SJim Harris * 20f11c7f63SJim Harris * You should have received a copy of the GNU General Public License 21f11c7f63SJim Harris * along with this program; if not, write to the Free Software 22f11c7f63SJim Harris * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 23f11c7f63SJim Harris * The full GNU General Public License is included in this distribution 24f11c7f63SJim Harris * in the file called LICENSE.GPL. 25f11c7f63SJim Harris * 26f11c7f63SJim Harris * BSD LICENSE 27f11c7f63SJim Harris * 28f11c7f63SJim Harris * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 29f11c7f63SJim Harris * All rights reserved. 30f11c7f63SJim Harris * 31f11c7f63SJim Harris * Redistribution and use in source and binary forms, with or without 32f11c7f63SJim Harris * modification, are permitted provided that the following conditions 33f11c7f63SJim Harris * are met: 34f11c7f63SJim Harris * 35f11c7f63SJim Harris * * Redistributions of source code must retain the above copyright 36f11c7f63SJim Harris * notice, this list of conditions and the following disclaimer. 37f11c7f63SJim Harris * * Redistributions in binary form must reproduce the above copyright 38f11c7f63SJim Harris * notice, this list of conditions and the following disclaimer in 39f11c7f63SJim Harris * the documentation and/or other materials provided with the 40f11c7f63SJim Harris * distribution. 41f11c7f63SJim Harris * 42f11c7f63SJim Harris * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 43f11c7f63SJim Harris * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 44f11c7f63SJim Harris * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 45f11c7f63SJim Harris * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 46f11c7f63SJim Harris * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 47f11c7f63SJim Harris * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 48f11c7f63SJim Harris * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 49f11c7f63SJim Harris * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 50f11c7f63SJim Harris * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 51f11c7f63SJim Harris * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 52f11c7f63SJim Harris * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53f11c7f63SJim Harris */ 54f11c7f63SJim Harris #ifndef _SATI_TRANSLATOR_SEQUENCE_H_ 55f11c7f63SJim Harris #define _SATI_TRANSLATOR_SEQUENCE_H_ 56f11c7f63SJim Harris 57f11c7f63SJim Harris /** 58f11c7f63SJim Harris * @file 59f11c7f63SJim Harris * @brief This file contains all of the defintions for the SATI translator 60453130d9SPedro F. Giffuni * sequence. A translator sequence is simply a definition for the 61f11c7f63SJim Harris * various sequences of commands that occur in this translator. 62f11c7f63SJim Harris */ 63f11c7f63SJim Harris 64f11c7f63SJim Harris #include <dev/isci/scil/sati_device.h> 65f11c7f63SJim Harris 66f11c7f63SJim Harris /** 67f11c7f63SJim Harris * @enum _SATI_TRANSLATOR_SEQUENCE_TYPE 68f11c7f63SJim Harris * 69f11c7f63SJim Harris * @brief This enumeration defines the possible sequence types for the 70f11c7f63SJim Harris * translator. 71f11c7f63SJim Harris */ 72f11c7f63SJim Harris typedef enum _SATI_TRANSLATOR_SEQUENCE_TYPE 73f11c7f63SJim Harris { 74f11c7f63SJim Harris // SCSI Primary Command (SPC) sequences. 75f11c7f63SJim Harris SATI_SEQUENCE_REPORT_LUNS, 76f11c7f63SJim Harris SATI_SEQUENCE_TEST_UNIT_READY, 77f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_STANDARD, 78f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_SUPPORTED_PAGES, 79f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_SERIAL_NUMBER, 80f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_DEVICE_ID, 81f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_ATA_INFORMATION, 82f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_BLOCK_DEVICE, 83f11c7f63SJim Harris SATI_SEQUENCE_INQUIRY_EXECUTE_DEVICE_DIAG, 84f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_CACHING, 85f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_INFORMATIONAL_EXCP_CONTROL, 86f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_READ_WRITE_ERROR, 87f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_DISCONNECT_RECONNECT, 88f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_CONTROL, 89f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_POWER_CONDITION, 90f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_6_ALL_PAGES, 91f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_CACHING, 92f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_INFORMATIONAL_EXCP_CONTROL, 93f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_READ_WRITE_ERROR, 94f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_DISCONNECT_RECONNECT, 95f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_CONTROL, 96f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_POWER_CONDITION, 97f11c7f63SJim Harris SATI_SEQUENCE_MODE_SENSE_10_ALL_PAGES, 98f11c7f63SJim Harris SATI_SEQUENCE_MODE_SELECT_MODE_PAGE_CACHING, 99f11c7f63SJim Harris SATI_SEQUENCE_MODE_SELECT_MODE_POWER_CONDITION, 100f11c7f63SJim Harris SATI_SEQUENCE_MODE_SELECT_MODE_INFORMATION_EXCEPT_CONTROL, 101f11c7f63SJim Harris 102f11c7f63SJim Harris //Log Sense Sequences 103f11c7f63SJim Harris SATI_SEQUENCE_LOG_SENSE_SELF_TEST_LOG_PAGE, 104f11c7f63SJim Harris SATI_SEQUENCE_LOG_SENSE_EXTENDED_SELF_TEST_LOG_PAGE, 105f11c7f63SJim Harris SATI_SEQUENCE_LOG_SENSE_SUPPORTED_LOG_PAGE, 106f11c7f63SJim Harris SATI_SEQUENCE_LOG_SENSE_INFO_EXCEPTION_LOG_PAGE, 107f11c7f63SJim Harris 108f11c7f63SJim Harris // SCSI Block Command (SBC) sequences. 109f11c7f63SJim Harris 110f11c7f63SJim Harris SATI_SEQUENCE_READ_6, 111f11c7f63SJim Harris SATI_SEQUENCE_READ_10, 112f11c7f63SJim Harris SATI_SEQUENCE_READ_12, 113f11c7f63SJim Harris SATI_SEQUENCE_READ_16, 114f11c7f63SJim Harris 115f11c7f63SJim Harris SATI_SEQUENCE_READ_CAPACITY_10, 116f11c7f63SJim Harris SATI_SEQUENCE_READ_CAPACITY_16, 117f11c7f63SJim Harris 118f11c7f63SJim Harris SATI_SEQUENCE_SYNCHRONIZE_CACHE, 119f11c7f63SJim Harris 120f11c7f63SJim Harris SATI_SEQUENCE_VERIFY_10, 121f11c7f63SJim Harris SATI_SEQUENCE_VERIFY_12, 122f11c7f63SJim Harris SATI_SEQUENCE_VERIFY_16, 123f11c7f63SJim Harris 124f11c7f63SJim Harris SATI_SEQUENCE_WRITE_6, 125f11c7f63SJim Harris SATI_SEQUENCE_WRITE_10, 126f11c7f63SJim Harris SATI_SEQUENCE_WRITE_12, 127f11c7f63SJim Harris SATI_SEQUENCE_WRITE_16, 128f11c7f63SJim Harris 129f11c7f63SJim Harris SATI_SEQUENCE_WRITE_AND_VERIFY, 130f11c7f63SJim Harris 131f11c7f63SJim Harris SATI_SEQUENCE_START_STOP_UNIT, 132f11c7f63SJim Harris 133f11c7f63SJim Harris SATI_SEQUENCE_REASSIGN_BLOCKS, 134f11c7f63SJim Harris 135f11c7f63SJim Harris // SCSI Task Requests sequences 136f11c7f63SJim Harris 137f11c7f63SJim Harris SATI_SEQUENCE_LUN_RESET, 138f11c7f63SJim Harris SATI_SEQUENCE_ABORT_TASK_SET, 139f11c7f63SJim Harris 140f11c7f63SJim Harris SATI_SEQUENCE_REQUEST_SENSE_SMART_RETURN_STATUS, 141f11c7f63SJim Harris SATI_SEQUENCE_REQUEST_SENSE_CHECK_POWER_MODE, 142f11c7f63SJim Harris 143f11c7f63SJim Harris SATI_SEQUENCE_WRITE_LONG, 144f11c7f63SJim Harris 145f11c7f63SJim Harris SATI_SEQUENCE_UNMAP, 146f11c7f63SJim Harris 147f11c7f63SJim Harris SATI_SEQUENCE_ATA_PASSTHROUGH_12, 148f11c7f63SJim Harris SATI_SEQUENCE_ATA_PASSTHROUGH_16, 149f11c7f63SJim Harris 150f11c7f63SJim Harris SATI_SEQUENCE_READ_BUFFER, 151f11c7f63SJim Harris SATI_SEQUENCE_WRITE_BUFFER, 152f11c7f63SJim Harris SATI_SEQUENCE_WRITE_BUFFER_MICROCODE 153f11c7f63SJim Harris 154f11c7f63SJim Harris } SATI_TRANSLATOR_SEQUENCE_TYPE; 155f11c7f63SJim Harris 156f11c7f63SJim Harris #define SATI_SEQUENCE_TYPE_READ_MIN SATI_SEQUENCE_READ_6 157f11c7f63SJim Harris #define SATI_SEQUENCE_TYPE_READ_MAX SATI_SEQUENCE_READ_16 158f11c7f63SJim Harris 159f11c7f63SJim Harris /** 160f11c7f63SJim Harris * @name SATI_SEQUENCE_STATES 161f11c7f63SJim Harris * 162f11c7f63SJim Harris * These constants depict the various state values associated with a 163f11c7f63SJim Harris * translation sequence. 164f11c7f63SJim Harris */ 165f11c7f63SJim Harris /*@{*/ 166f11c7f63SJim Harris #define SATI_SEQUENCE_STATE_INITIAL 0 167f11c7f63SJim Harris #define SATI_SEQUENCE_STATE_TRANSLATE_DATA 1 168f11c7f63SJim Harris #define SATI_SEQUENCE_STATE_AWAIT_RESPONSE 2 169f11c7f63SJim Harris #define SATI_SEQUENCE_STATE_FINAL 3 170f11c7f63SJim Harris #define SATI_SEQUENCE_STATE_INCOMPLETE 4 171f11c7f63SJim Harris #define SATI_SEQUENCE_STATE_READ_ERROR 5 172f11c7f63SJim Harris /*@}*/ 173f11c7f63SJim Harris 174f11c7f63SJim Harris /** 175f11c7f63SJim Harris * @name SATI_DATA_DIRECTIONS 176f11c7f63SJim Harris * 177f11c7f63SJim Harris * These constants depict the various types of data directions for a 178f11c7f63SJim Harris * translation sequence. Data can flow in/out (read/write) or no data at 179f11c7f63SJim Harris * all. 180f11c7f63SJim Harris */ 181f11c7f63SJim Harris /*@{*/ 182f11c7f63SJim Harris #define SATI_DATA_DIRECTION_NONE 0 183f11c7f63SJim Harris #define SATI_DATA_DIRECTION_IN 1 184f11c7f63SJim Harris #define SATI_DATA_DIRECTION_OUT 2 185f11c7f63SJim Harris /*@}*/ 186f11c7f63SJim Harris 187f11c7f63SJim Harris /** 188f11c7f63SJim Harris * @struct SATI_MODE_SELECT_PROCESSING_STATE 189f11c7f63SJim Harris * 190f11c7f63SJim Harris * @brief This structure contains all of the current processing states 191f11c7f63SJim Harris * for processing mode select 6 and 10 commands' parameter fields. 192f11c7f63SJim Harris */ 193f11c7f63SJim Harris typedef struct SATI_MODE_SELECT_PROCESSING_STATE 194f11c7f63SJim Harris { 195f11c7f63SJim Harris U8 * mode_pages; 196f11c7f63SJim Harris U32 mode_page_offset; 197f11c7f63SJim Harris U32 mode_pages_size; 198f11c7f63SJim Harris U32 size_of_data_processed; 199f11c7f63SJim Harris U32 total_ata_command_sent; 200f11c7f63SJim Harris U32 ata_command_sent_for_cmp; // cmp: current mode page 201f11c7f63SJim Harris BOOL current_mode_page_processed; 202f11c7f63SJim Harris 203f11c7f63SJim Harris } SATI_MODE_SELECT_PROCESSING_STATE_T; 204f11c7f63SJim Harris 205f11c7f63SJim Harris 206f11c7f63SJim Harris enum SATI_REASSIGN_BLOCKS_ATA_COMMAND_STATUS 207f11c7f63SJim Harris { 208f11c7f63SJim Harris SATI_REASSIGN_BLOCKS_READY_TO_SEND, 209f11c7f63SJim Harris SATI_REASSIGN_BLOCKS_COMMAND_FAIL, 210f11c7f63SJim Harris SATI_REASSIGN_BLOCKS_COMMAND_SUCCESS, 211f11c7f63SJim Harris }; 212f11c7f63SJim Harris 213f11c7f63SJim Harris /** 214f11c7f63SJim Harris * @struct SATI_REASSIGN_BLOCKS_PROCESSING_STATE 215f11c7f63SJim Harris * 216f11c7f63SJim Harris * @brief This structure contains all of the current processing states 217f11c7f63SJim Harris * for processing reassign block command's parameter fields. 218f11c7f63SJim Harris */ 219f11c7f63SJim Harris typedef struct SATI_REASSIGN_BLOCKS_PROCESSING_STATE 220f11c7f63SJim Harris { 221f11c7f63SJim Harris U32 lba_offset; 222f11c7f63SJim Harris U32 block_lists_size; 223f11c7f63SJim Harris U8 lba_size; 224f11c7f63SJim Harris U32 size_of_data_processed; 225f11c7f63SJim Harris U32 ata_command_sent_for_current_lba; 226f11c7f63SJim Harris BOOL current_lba_processed; 227f11c7f63SJim Harris enum SATI_REASSIGN_BLOCKS_ATA_COMMAND_STATUS ata_command_status; 228f11c7f63SJim Harris 229f11c7f63SJim Harris }SATI_REASSIGN_BLOCKS_PROCESSING_STATE_T; 230f11c7f63SJim Harris 231f11c7f63SJim Harris #define SATI_ATAPI_REQUEST_SENSE_CDB_LENGTH 12 232f11c7f63SJim Harris 233f11c7f63SJim Harris /** 234f11c7f63SJim Harris * @struct SATI_ATAPI_DATA 235f11c7f63SJim Harris * 236f11c7f63SJim Harris * @brief The SATI_ATAPI_DATA structure is for sati atapi IO specific data. 237f11c7f63SJim Harris */ 238f11c7f63SJim Harris typedef struct SATI_ATAPI_DATA 239f11c7f63SJim Harris { 240f11c7f63SJim Harris U8 request_sense_cdb[SATI_ATAPI_REQUEST_SENSE_CDB_LENGTH]; 241f11c7f63SJim Harris } SATI_ATAPI_DATA_T; 242f11c7f63SJim Harris 243f11c7f63SJim Harris 244f11c7f63SJim Harris enum SATI_UNMAP_ATA_COMMAND_STATUS 245f11c7f63SJim Harris { 246f11c7f63SJim Harris SATI_UNMAP_READY_TO_SEND, 247f11c7f63SJim Harris SATI_UNMAP_COMMAND_FAIL, 248f11c7f63SJim Harris SATI_UNMAP_COMMAND_SUCCESS, 249f11c7f63SJim Harris }; 250f11c7f63SJim Harris 251f11c7f63SJim Harris /** 252f11c7f63SJim Harris * @struct SATI_UNMAP_PROCESSING_STATE 253f11c7f63SJim Harris * 254f11c7f63SJim Harris * @brief This structure contains all of the current processing states 255f11c7f63SJim Harris * for processing unmap command data translation. 256f11c7f63SJim Harris */ 257f11c7f63SJim Harris typedef struct SATI_UNMAP_PROCESSING_STATE 258f11c7f63SJim Harris { 259f11c7f63SJim Harris U32 max_unmap_block_descriptors; 260f11c7f63SJim Harris U32 current_unmap_block_descriptor_index; 261f11c7f63SJim Harris U32 current_lba_count; 262f11c7f63SJim Harris SATI_LBA current_lba; 263f11c7f63SJim Harris SATI_LBA next_lba; 264f11c7f63SJim Harris U32 max_lba_range_entries; 265f11c7f63SJim Harris void * current_dsm_descriptor; 266f11c7f63SJim Harris void * virtual_unmap_buffer; 267f11c7f63SJim Harris U32 physical_unmap_buffer_low; 268f11c7f63SJim Harris U32 physical_unmap_buffer_high; 269f11c7f63SJim Harris void * unmap_buffer_sgl_pair; 270f11c7f63SJim Harris } SATI_UNMAP_PROCESSING_STATE_T; 271f11c7f63SJim Harris 272f11c7f63SJim Harris /** 273f11c7f63SJim Harris * @struct SATI_TRANSLATOR_SEQUENCE 274f11c7f63SJim Harris * 275f11c7f63SJim Harris * @brief This structure contains all of the translation information 276f11c7f63SJim Harris * associated with a particular request. 277f11c7f63SJim Harris */ 278f11c7f63SJim Harris typedef struct SATI_TRANSLATOR_SEQUENCE 279f11c7f63SJim Harris { 280f11c7f63SJim Harris /** 281f11c7f63SJim Harris * This field contains the sequence type determined by the SATI. 282f11c7f63SJim Harris */ 283f11c7f63SJim Harris U8 type; 284f11c7f63SJim Harris 285f11c7f63SJim Harris /** 286f11c7f63SJim Harris * This field indicates the current state for the sequence. 287f11c7f63SJim Harris */ 288f11c7f63SJim Harris U8 state; 289f11c7f63SJim Harris 290f11c7f63SJim Harris /** 291f11c7f63SJim Harris * This field indicates the data direction (none, read, or write) for 292f11c7f63SJim Harris * the translated request. 293f11c7f63SJim Harris */ 294f11c7f63SJim Harris U8 data_direction; 295f11c7f63SJim Harris 296f11c7f63SJim Harris /** 297f11c7f63SJim Harris * This field contains the SATA/ATA protocol to be utilized during 298f11c7f63SJim Harris * the IO transfer. 299f11c7f63SJim Harris */ 300f11c7f63SJim Harris U8 protocol; 301f11c7f63SJim Harris 302f11c7f63SJim Harris /** 303f11c7f63SJim Harris * This field is utilized for sequences requiring data translation. 304f11c7f63SJim Harris * It specifies the amount of data requested by the caller from the 305f11c7f63SJim Harris * operation. It's necessary, because at times the user requests less 306f11c7f63SJim Harris * data than is available. Thus, we need to avoid overrunning the 307f11c7f63SJim Harris * buffer. 308f11c7f63SJim Harris */ 309f11c7f63SJim Harris U32 allocation_length; 310f11c7f63SJim Harris 311f11c7f63SJim Harris /** 312f11c7f63SJim Harris * This field specifies the amount of data that will actually be 313453130d9SPedro F. Giffuni * transferred across the wire for this ATA request. 314f11c7f63SJim Harris */ 315f11c7f63SJim Harris U32 ata_transfer_length; 316f11c7f63SJim Harris 317f11c7f63SJim Harris /** 318f11c7f63SJim Harris * This field specifies the amount of data bytes that have been 319f11c7f63SJim Harris * set in a translation sequence. It will be incremented every time 320f11c7f63SJim Harris * a data byte has been set by a sati translation. 321f11c7f63SJim Harris */ 322f11c7f63SJim Harris U16 number_data_bytes_set; 323f11c7f63SJim Harris 324f11c7f63SJim Harris /** 325f11c7f63SJim Harris * This field indicates whether or not the sense response has been set 326f11c7f63SJim Harris * by the translation sequence. 327f11c7f63SJim Harris */ 328f11c7f63SJim Harris BOOL is_sense_response_set; 329f11c7f63SJim Harris 330f11c7f63SJim Harris /** 331f11c7f63SJim Harris * This field indicates whether or not the translation requires 332f11c7f63SJim Harris * response translation. 333f11c7f63SJim Harris */ 334f11c7f63SJim Harris BOOL is_translate_response_required; 335f11c7f63SJim Harris 336f11c7f63SJim Harris /** 337f11c7f63SJim Harris * This field specifies the remote device context for which this 338f11c7f63SJim Harris * translator sequence is destined. 339f11c7f63SJim Harris */ 340f11c7f63SJim Harris SATI_DEVICE_T * device; 341f11c7f63SJim Harris 342f11c7f63SJim Harris /** 343f11c7f63SJim Harris * This field is utilized to provide the translator with memory space 344f11c7f63SJim Harris * required for translations that utilize multiple requests. 345f11c7f63SJim Harris */ 346f11c7f63SJim Harris union { 347f11c7f63SJim Harris U32 translated_command; 348f11c7f63SJim Harris U32 move_sector_count; 349f11c7f63SJim Harris U32 scratch; 350f11c7f63SJim Harris SATI_REASSIGN_BLOCKS_PROCESSING_STATE_T reassign_blocks_process_state; 351f11c7f63SJim Harris SATI_MODE_SELECT_PROCESSING_STATE_T process_state; 352f11c7f63SJim Harris SATI_UNMAP_PROCESSING_STATE_T unmap_process_state; 353f11c7f63SJim Harris SATI_ATAPI_DATA_T sati_atapi_data; 354f11c7f63SJim Harris } command_specific_data; 355f11c7f63SJim Harris 356f11c7f63SJim Harris } SATI_TRANSLATOR_SEQUENCE_T; 357f11c7f63SJim Harris 358f11c7f63SJim Harris 359f11c7f63SJim Harris 360f11c7f63SJim Harris #endif // _SATI_TRANSLATOR_SEQUENCE_H_ 361f11c7f63SJim Harris 362