Lines Matching +full:fis +full:- +full:based

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause OR GPL-2.0
9 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
22 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
28 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
76 * @brief This method simply sets the command register based upon the
98 if (sequence->data_direction == SATI_DATA_DIRECTION_OUT) in sati_move_set_ata_command()
105 * @brief This method will translate the SCSI transfer count from the 6-byte
106 * CDB into the appropriate amount in the ATA register FIS. Please
107 * note for 48-bit UDMA requests, the caller must set the sector
135 if (sequence->data_direction == SATI_DATA_DIRECTION_IN) in sati_move_small_udma_translate_command()
136 sequence->protocol = SAT_PROTOCOL_UDMA_DATA_IN; in sati_move_small_udma_translate_command()
138 sequence->protocol = SAT_PROTOCOL_UDMA_DATA_OUT; in sati_move_small_udma_translate_command()
143 * supplied sector_count parameter into the ATA register FIS.
171 if (sequence->data_direction == SATI_DATA_DIRECTION_IN) in sati_move_large_udma_translate_command()
172 sequence->protocol = SAT_PROTOCOL_UDMA_DATA_IN; in sati_move_large_udma_translate_command()
174 sequence->protocol = SAT_PROTOCOL_UDMA_DATA_OUT; in sati_move_large_udma_translate_command()
182 * @brief This method will translate the SCSI transfer count from the 6-byte
183 * CDB into the appropriate amount in the ATA register FIS.
184 * This is only used for translation of 6-byte SCSI CDBs.
213 * @brief This method will process a 32-bit sector into the appropriate fields
214 * in a register FIS. This method works for both 8-bit and 16-bit sector
216 * This is used for translation of 10, 12, and 16-byte SCSI CDBs.
220 * @note This method should only be called for CDB sizes of 10-bytes or larger.
240 if (sequence->device->capabilities & SATI_DEVICE_CAP_48BIT_ENABLE) in sati_move_set_sector_count()
245 // Check the CDB transfer length count and set the register FIS sector in sati_move_set_sector_count()
249 // A SCSI sector count of 0 for 10-byte CDBs and larger indicate no data in sati_move_set_sector_count()
257 sequence->command_specific_data.move_sector_count = in sati_move_set_sector_count()
258 sector_count - max_sector_count; in sati_move_set_sector_count()
280 * @brief This method simply translates the 32-bit logical block address
281 * field from the SCSI CDB (10 or 12-byte) into the ATA task
282 * file (register FIS).
306 * @brief This method simply translates the 64-bit logical block address
308 * file (register FIS). The 2 most significant bytes must be 0,
309 * since ATA devices can, at most, support 48-bits of LBA.
316 * of the 2 most significant bytes contain a non-zero value.
328 // addressibility per the ATA specification (i.e. 48-bit or 28-bit). in sati_move_translate_64_bit_lba()
413 * the 6-byte move command descriptor blocks (CDBs).
415 * - command register is set
416 * - the SATI_TRANSLATOR_SEQUENCE::protocol field is set
417 * - the sector count field(s) are set
418 * - sati_move_6_translate_command() is invoked.
436 if (sequence->device->capabilities & SATI_DEVICE_CAP_NCQ_SUPPORTED_ENABLE) in sati_move_small_translate_command()
442 sequence->protocol = SAT_PROTOCOL_FPDMA; in sati_move_small_translate_command()
444 else if (sequence->device->capabilities & SATI_DEVICE_CAP_48BIT_ENABLE) in sati_move_small_translate_command()
461 else if (sequence->device->capabilities & SATI_DEVICE_CAP_UDMA_ENABLE) in sati_move_small_translate_command()
471 * handling the 48-bit feature set (i.e. 16 bits of sector count). in sati_move_small_translate_command()
489 * the larger command descriptor blocks (10, 12, 16-byte CDBs).
516 if (sequence->device->capabilities & SATI_DEVICE_CAP_NCQ_SUPPORTED_ENABLE) in sati_move_large_translate_command()
519 if((sequence->device->capabilities & SATI_DEVICE_CAP_IGNORE_FUA)==0) in sati_move_large_translate_command()
532 sequence->protocol = SAT_PROTOCOL_FPDMA; in sati_move_large_translate_command()
534 else if (sequence->device->capabilities & SATI_DEVICE_CAP_48BIT_ENABLE) in sati_move_large_translate_command()
560 else if (sequence->device->capabilities & SATI_DEVICE_CAP_UDMA_ENABLE) in sati_move_large_translate_command()
575 * handling the 48-bit feature set (i.e. 16 bits of sector count). in sati_move_large_translate_command()
598 * to be written to the ATA task file (register FIS) device