Lines Matching +full:io +full:- +full:reset
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.
131 * method will result in the completion of IO requests and handling
225 * number of MSI-X messages to be utilized. This parameter must
232 * - size = sizeof(SCIC_CONTROLLER_HANDLER_METHODS_T)
234 * - size = message_count*sizeof(SCIC_CONTROLLER_HANDLER_METHODS_T)
244 * array is zero-relative where entry zero corresponds to
245 * message-vector zero, entry one corresponds to message-vector one,
251 * if the user supplied an unsupported number of MSI-X messages.
263 * physical controller hardware out of reset and enable the core to
304 * -# the return status of this method is SCI_SUCCESS.
305 * -# after all of the phys have successfully started or been given
340 * -# the method return status is SCI_SUCCESS.
341 * -# the controller has been quiesced.
342 * This method will ensure that all IO requests are quiesced, phys
365 * @brief This method will reset the supplied core controller regardless of
368 * out. No IO completions for outstanding devices occur. Outstanding
369 * IO requests are not aborted or completed at the actual remote
372 * @param[in] controller the handle to the controller object to reset.
374 * @return Indicate if the controller reset method succeeded or failed in
376 * @retval SCI_SUCCESS if the reset operation successfully started.
377 * @retval SCI_FATAL_ERROR if the controller reset operation is unable to
385 * @brief This method is called by the SCI user to send/start an IO request.
386 * If the method invocation is successful, then the IO request has
390 * - IO tags are a protected resource. It is incumbent upon the
392 * allocate or free available IO tags are handled in a mutually
395 * spin-lock, etc.).
396 * - For SATA, the user is required to manage NCQ tags. As a
404 * to start an IO request.
406 * to start an IO request.
407 * @param[in] io_request the handle to the io request object to start.
408 * @param[in] io_tag This parameter specifies a previously allocated IO tag
415 * @return Indicate if the controller successfully started the IO request.
416 * @retval SCI_IO_SUCCESS if the IO request was successfully started.
434 * - IO tags are a protected resource. It is incumbent upon the
436 * allocate or free available IO tags are handled in a mutually
439 * spin-lock, etc.).
440 * - The user must synchronize this task with completion queue
442 * for the io requests that are being managed by the task request
450 * @param[in] io_tag This parameter specifies a previously allocated IO tag
459 * @return Indicate if the controller successfully started the IO request.
476 * (i.e. re-constructed).
504 * (i.e. started) core IO request. This does not abort the IO request
505 * at the target, but rather removes the IO request from the host
512 * @param[in] request the handle to the io or task management request
516 * for the IO request.
530 * an IO request. After this method is invoked, the user should
531 * consider the IO request as invalid until it is properly reused
532 * (i.e. re-constructed).
535 * - IO tags are a protected resource. It is incumbent upon the
537 * allocate or free available IO tags are handled in a mutually
540 * spin-lock, etc.).
541 * - If the IO tag for a request was allocated, by the SCI Core user,
545 * method will not free the IO tag).
548 * to complete the IO request.
550 * to complete the IO request.
551 * @param[in] io_request the handle to the io request object to complete.
553 * @return Indicate if the controller successfully completed the IO request.
612 * @brief This method will allocate a tag from the pool of free IO tags.
613 * Direct allocation of IO tags by the SCI Core user is optional.
614 * The scic_controller_start_io() method will allocate an IO
616 * supplied to the IO construct routine. Direct allocation of IO tags
619 * allocation of IO tags also provides additional flexibility to the
620 * SCI Core user. Specifically, the user may retain IO tags across
621 * the lives of multiple IO requests.
623 * @warning IO tags are a protected resource. It is incumbent upon the
625 * allocate or free available IO tags are handled in a mutually
628 * spin-lock, etc.).
633 * @return An unsigned integer representing an available IO tag.
643 * @brief This method will free an IO tag to the pool of free IO tags.
645 * regards to IO tags. The user may desire to keep an IO tag after
646 * an IO request has completed, because they plan on re-using the
647 * tag for a subsequent IO request. This method is only legal if
651 * - IO tags are a protected resource. It is incumbent upon the
653 * allocate or free available IO tags are handled in a mutually
656 * spin-lock, etc.).
657 * - If the IO tag for a request was allocated, by the SCI Core user,
670 * placed into the pool of available IO tags.
672 * tag is not a valid IO tag value.
808 * ignore completion processing for non-fastpath events. This will cause