Linux Kernel
3.7.1
|
#include "isci.h"
Go to the source code of this file.
Data Structures | |
struct | sci_remote_node_context |
Macros | |
#define | SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX 0x0FFF |
#define | SCI_SOFTWARE_SUSPEND_CMD SCU_CONTEXT_COMMAND_POST_RNC_SUSPEND_TX_RX |
#define | SCI_SOFTWARE_SUSPEND_EXPECTED_EVENT SCU_EVENT_TL_RNC_SUSPEND_TX_RX |
#define | RNC_STATES |
#define | C(a) SCI_##a |
Typedefs | |
typedef void(* | scics_sds_remote_node_context_callback )(void *) |
Variables | |
enum scis_sds_remote_node_context_states | RNC_STATES |
Definition at line 133 of file remote_node_context.h.
#define RNC_STATES |
enum sci_remote_node_context_states initial state for a remote node context. On a resume request the remote node context will transition to the posting state.
: transition state that posts the RNi to the hardware. Once the RNC is posted the remote node context will be made ready.
: transition state that will post an RNC invalidate to the hardware. Once the invalidate is complete the remote node context will transition to the posting state.
: transition state that will post an RNC resume to the hardare. Once the event notification of resume complete is received the remote node context will transition to the ready state.
: state that the remote node context must be in to accept io request operations.
: state that the remote node context transitions to when it gets a TX suspend notification from the hardware.
: state that the remote node context transitions to when it gets a TX RX suspend notification from the hardware.
: wait state for the remote node context that waits for a suspend notification from the hardware. This state is entered when either there is a request to supend the remote node context or when there is a TC completion where the remote node will be suspended by the hardware.
Definition at line 122 of file remote_node_context.h.
#define SCI_SOFTWARE_SUSPEND_CMD SCU_CONTEXT_COMMAND_POST_RNC_SUSPEND_TX_RX |
Definition at line 83 of file remote_node_context.h.
#define SCI_SOFTWARE_SUSPEND_EXPECTED_EVENT SCU_EVENT_TL_RNC_SUSPEND_TX_RX |
Definition at line 84 of file remote_node_context.h.
#define SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX 0x0FFF |
This file contains the structures, constants, and prototypes associated with the remote node context in the silicon. It exists to model and manage the remote node context in the silicon.
This constant represents an invalid remote device id, it is used to program the STPDARNI register so the driver knows when it has received a SIGNATURE FIS from the SCU.
Definition at line 76 of file remote_node_context.h.
Definition at line 90 of file remote_node_context.h.
This enumeration is used to define the end destination state for the remote node context.
RNC_DEST_UNSPECIFIED | |
RNC_DEST_READY | |
RNC_DEST_FINAL | |
RNC_DEST_SUSPENDED | |
RNC_DEST_SUSPENDED_RESUME |
Definition at line 144 of file remote_node_context.h.
Definition at line 78 of file remote_node_context.h.
Definition at line 65 of file remote_node_context.c.
void sci_remote_node_context_construct | ( | struct sci_remote_node_context * | rnc, |
u16 | remote_node_index | ||
) |
Definition at line 414 of file remote_node_context.c.
enum sci_status sci_remote_node_context_destruct | ( | struct sci_remote_node_context * | sci_rnc, |
scics_sds_remote_node_context_callback | callback, | ||
void * | callback_parameter | ||
) |
Definition at line 528 of file remote_node_context.c.
enum sci_status sci_remote_node_context_event_handler | ( | struct sci_remote_node_context * | sci_rnc, |
u32 | event_code | ||
) |
Definition at line 425 of file remote_node_context.c.
bool sci_remote_node_context_is_ready | ( | struct sci_remote_node_context * | sci_rnc | ) |
: The state of the remote node context object to check.
This method will return true if the remote node context is in a READY state otherwise it will return false bool true if the remote node context is in the ready state. false if the remote node context is not in the ready state.
Definition at line 81 of file remote_node_context.c.
int sci_remote_node_context_is_safe_to_abort | ( | struct sci_remote_node_context * | sci_rnc | ) |
Definition at line 787 of file remote_node_context.c.
bool sci_remote_node_context_is_suspended | ( | struct sci_remote_node_context * | sci_rnc | ) |
Definition at line 93 of file remote_node_context.c.
enum sci_status sci_remote_node_context_resume | ( | struct sci_remote_node_context * | sci_rnc, |
scics_sds_remote_node_context_callback | cb_fn, | ||
void * | cb_p | ||
) |
Definition at line 659 of file remote_node_context.c.
enum sci_status sci_remote_node_context_start_io | ( | struct sci_remote_node_context * | sci_rnc, |
struct isci_request * | ireq | ||
) |
Definition at line 748 of file remote_node_context.c.
enum sci_status sci_remote_node_context_start_task | ( | struct sci_remote_node_context * | sci_rnc, |
struct isci_request * | ireq, | ||
scics_sds_remote_node_context_callback | cb_fn, | ||
void * | cb_p | ||
) |
Definition at line 773 of file remote_node_context.c.
enum sci_status sci_remote_node_context_suspend | ( | struct sci_remote_node_context * | sci_rnc, |
enum sci_remote_node_suspension_reasons | reason, | ||
u32 | suspension_code | ||
) |
Definition at line 567 of file remote_node_context.c.
enum scis_sds_remote_node_context_states RNC_STATES |
Definition at line 134 of file remote_node_context.h.