FreeBSD/sys/dev/isci/scil/scif_sas_controller.c
/**
 * @brief this routine is called by OS' DPC to start io requests from internal
 *        high priority request queue
 * @param[in] fw_controller The framework controller.
 *
 * @return none
 */
@brief this routine is called by OS' DPC to start io requests from internal
high priority request queue
@param[in] fw_controller The framework controller.

@return none
@brief this routine is called by OS ' DPC to start io requests from internal high priority request queue @param [ in ] fw_controller The framework controller . @return none
void scif_sas_controller_start_high_priority_io(
   SCIF_SAS_CONTROLLER_T * fw_controller
)
{
   POINTER_UINT            io_address;
   SCIF_SAS_IO_REQUEST_T * fw_io;
   SCI_STATUS              status;
   SCIF_LOG_TRACE((
      sci_base_object_get_logger(fw_controller),
      SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_IO_REQUEST,
      "scif_controller_start_high_priority_io(0x%x) enter\n",
      fw_controller
   ));
   while ( !sci_pool_empty(fw_controller->hprq.pool) )
   {
      sci_pool_get(fw_controller->hprq.pool, io_address);
      fw_io = (SCIF_SAS_IO_REQUEST_T *)io_address;
      status = fw_controller->state_handlers->start_high_priority_io_handler(
         (SCI_BASE_CONTROLLER_T*) fw_controller,
         (SCI_BASE_REMOTE_DEVICE_T*) fw_io->parent.device,
         (SCI_BASE_REQUEST_T*) fw_io,
         SCI_CONTROLLER_INVALID_IO_TAG
      );
   }
}
void scif_sas_controller_start_high_priority_io ( SCIF_SAS_CONTROLLER_T * fw_controller ) { POINTER_UINT io_address ; SCIF_SAS_IO_REQUEST_T * fw_io ; SCI_STATUS status ; SCIF_LOG_TRACE ( ( sci_base_object_get_logger ( fw_controller ) , SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_IO_REQUEST , " \n " , fw_controller ) ) ; while ( ! sci_pool_empty ( fw_controller -> hprq . pool ) ) { sci_pool_get ( fw_controller -> hprq . pool , io_address ) ; fw_io = ( SCIF_SAS_IO_REQUEST_T * ) io_address ; status = fw_controller -> state_handlers -> start_high_priority_io_handler ( ( SCI_BASE_CONTROLLER_T * ) fw_controller , ( SCI_BASE_REMOTE_DEVICE_T * ) fw_io -> parent . device , ( SCI_BASE_REQUEST_T * ) fw_io , SCI_CONTROLLER_INVALID_IO_TAG ) ; } }
@brief this routine is called by OS' DPC to start io requests from internal
        high priority request queue
 @param[in] fw_controller The framework controller.
@brief this routine is called by OS ' DPC to start io requests from internal high priority request queue @param [ in ] fw_controller The framework controller .