FreeBSD/sys/dev/isci/scil/sati_write_long.c
/**
 * @brief This method will translate the response to the SATI Write Long
 *        translation. This response is only error checking the
 *        ATA Write Uncorrectable command.
 *
 * @return SATI_STATUS Indicates if the response translation succeeded.
 * @retval SCI_COMPLETE This is returned if the command translation was
 *         successful.
 * @retval SATI_FAILURE_CHECK_RESPONSE_DATA is returned if there was
 *         a problem with the translation of write long.
 */
@brief This method will translate the response to the SATI Write Long
translation. This response is only error checking the
ATA Write Uncorrectable command.

@return SATI_STATUS Indicates if the response translation succeeded.
@retval SCI_COMPLETE This is returned if the command translation was
successful.
@retval SATI_FAILURE_CHECK_RESPONSE_DATA is returned if there was
a problem with the translation of write long.
@brief This method will translate the response to the SATI Write Long translation . This response is only error checking the ATA Write Uncorrectable command . @return SATI_STATUS Indicates if the response translation succeeded . @retval SCI_COMPLETE This is returned if the command translation was successful . @retval SATI_FAILURE_CHECK_RESPONSE_DATA is returned if there was a problem with the translation of write long .
SATI_STATUS sati_write_long_translate_response(
   SATI_TRANSLATOR_SEQUENCE_T * sequence,
   void                       * scsi_io,
   void                       * ata_io
)
{
   U8 * register_fis = sati_cb_get_d2h_register_fis_address(ata_io);
   if (sati_get_ata_status(register_fis) & ATA_STATUS_REG_ERROR_BIT)
   {
      sati_scsi_sense_data_construct(
         sequence,
         scsi_io,
         SCSI_STATUS_CHECK_CONDITION,
         SCSI_SENSE_ABORTED_COMMAND,
         SCSI_ASC_COMMAND_SEQUENCE_ERROR,
         SCSI_ASCQ_NO_ADDITIONAL_SENSE
      );
      return SATI_FAILURE_CHECK_RESPONSE_DATA;
   }
   else
   {
      return SATI_COMPLETE;
   }
}
SATI_STATUS sati_write_long_translate_response ( SATI_TRANSLATOR_SEQUENCE_T * sequence , void * scsi_io , void * ata_io ) { U8 * register_fis = sati_cb_get_d2h_register_fis_address ( ata_io ) ; if ( sati_get_ata_status ( register_fis ) & ATA_STATUS_REG_ERROR_BIT ) { sati_scsi_sense_data_construct ( sequence , scsi_io , SCSI_STATUS_CHECK_CONDITION , SCSI_SENSE_ABORTED_COMMAND , SCSI_ASC_COMMAND_SEQUENCE_ERROR , SCSI_ASCQ_NO_ADDITIONAL_SENSE ) ; return SATI_FAILURE_CHECK_RESPONSE_DATA ; } else { return SATI_COMPLETE ; } }
@brief This method will translate the response to the SATI Write Long
        translation.
@brief This method will translate the response to the SATI Write Long translation .