FreeBSD/sys/dev/isci/scil/scic_sds_controller.c
/**
 * @brief This method processes a task completion notification.  This is
 *        called from within the controller completion handler.
 *
 * @param[in] this_controller
 * @param[in] completion_entry
 *
 * @return none
 */
@brief This method processes a task completion notification.  This is
called from within the controller completion handler.



@return none
@brief This method processes a task completion notification . This is called from within the controller completion handler . @return none
static
void scic_sds_controller_task_completion(
   SCIC_SDS_CONTROLLER_T *this_controller,
   U32                   completion_entry
)
{
   U32 index;
   SCIC_SDS_REQUEST_T *io_request;
   index = SCU_GET_COMPLETION_INDEX(completion_entry);
   io_request = this_controller->io_request_table[index];
   if (
           (io_request != SCI_INVALID_HANDLE)
        && (io_request->io_tag != SCI_CONTROLLER_INVALID_IO_TAG)
        && (
                scic_sds_io_tag_get_sequence(io_request->io_tag)
             == this_controller->io_request_sequence[index]
           )
      )
   {
      scic_sds_io_request_tc_completion(io_request, completion_entry);
   }
}
static void scic_sds_controller_task_completion ( SCIC_SDS_CONTROLLER_T * this_controller , U32 completion_entry ) { U32 index ; SCIC_SDS_REQUEST_T * io_request ; index = SCU_GET_COMPLETION_INDEX ( completion_entry ) ; io_request = this_controller -> io_request_table [ index ] ; if ( ( io_request != SCI_INVALID_HANDLE ) && ( io_request -> io_tag != SCI_CONTROLLER_INVALID_IO_TAG ) && ( scic_sds_io_tag_get_sequence ( io_request -> io_tag ) == this_controller -> io_request_sequence [ index ] ) ) { scic_sds_io_request_tc_completion ( io_request , completion_entry ) ; } }
@brief This method processes a task completion notification.
@brief This method processes a task completion notification .
// Make sure that we really want to process this IO request // Yep this is a valid io request pass it along to the io request handler