Linux Kernel
3.7.1
|
#include "isci.h"
Go to the source code of this file.
Data Structures | |
struct | scu_unsolicited_frame_header |
struct | sci_unsolicited_frame |
struct | sci_uf_header_array |
struct | sci_uf_buffer_array |
struct | sci_uf_address_table_array |
struct | sci_unsolicited_frame_control |
Macros | |
#define | SCU_UNSOLICITED_FRAME_HEADER_DATA_DWORDS 15 |
#define | SCI_UFI_BUF_SIZE (SCU_MAX_UNSOLICITED_FRAMES * SCU_UNSOLICITED_FRAME_BUFFER_SIZE) |
#define | SCI_UFI_HDR_SIZE (SCU_MAX_UNSOLICITED_FRAMES * sizeof(struct scu_unsolicited_frame_header)) |
#define | SCI_UFI_TOTAL_SIZE (SCI_UFI_BUF_SIZE + SCI_UFI_HDR_SIZE + SCU_MAX_UNSOLICITED_FRAMES * sizeof(u64)) |
Enumerations | |
enum | unsolicited_frame_state { UNSOLICITED_FRAME_EMPTY, UNSOLICITED_FRAME_IN_USE, UNSOLICITED_FRAME_RELEASED, UNSOLICITED_FRAME_MAX_STATES } |
Functions | |
void | sci_unsolicited_frame_control_construct (struct isci_host *ihost) |
enum sci_status | sci_unsolicited_frame_control_get_header (struct sci_unsolicited_frame_control *uf_control, u32 frame_index, void **frame_header) |
enum sci_status | sci_unsolicited_frame_control_get_buffer (struct sci_unsolicited_frame_control *uf_control, u32 frame_index, void **frame_buffer) |
bool | sci_unsolicited_frame_control_release_frame (struct sci_unsolicited_frame_control *uf_control, u32 frame_index) |
#define SCI_UFI_BUF_SIZE (SCU_MAX_UNSOLICITED_FRAMES * SCU_UNSOLICITED_FRAME_BUFFER_SIZE) |
Definition at line 260 of file unsolicited_frame_control.h.
#define SCI_UFI_HDR_SIZE (SCU_MAX_UNSOLICITED_FRAMES * sizeof(struct scu_unsolicited_frame_header)) |
Definition at line 261 of file unsolicited_frame_control.h.
#define SCI_UFI_TOTAL_SIZE (SCI_UFI_BUF_SIZE + SCI_UFI_HDR_SIZE + SCU_MAX_UNSOLICITED_FRAMES * sizeof(u64)) |
Definition at line 262 of file unsolicited_frame_control.h.
#define SCU_UNSOLICITED_FRAME_HEADER_DATA_DWORDS 15 |
Definition at line 61 of file unsolicited_frame_control.h.
enum unsolicited_frame_state -
This enumeration represents the current unsolicited frame state. The controller object can not updtate the hardware unsolicited frame put pointer unless it has already processed the priror unsolicited frames.
UNSOLICITED_FRAME_EMPTY |
This state is when the frame is empty and not in use. It is different from the released state in that the hardware could DMA data to this frame buffer. |
UNSOLICITED_FRAME_IN_USE |
This state is set when the frame buffer is in use by by some object in the system. |
UNSOLICITED_FRAME_RELEASED |
This state is set when the frame is returned to the free pool but one or more frames prior to this one are still in use. Once all of the frame before this one are freed it will go to the empty state. |
UNSOLICITED_FRAME_MAX_STATES |
Definition at line 112 of file unsolicited_frame_control.h.
Definition at line 60 of file unsolicited_frame_control.c.
enum sci_status sci_unsolicited_frame_control_get_buffer | ( | struct sci_unsolicited_frame_control * | uf_control, |
u32 | frame_index, | ||
void ** | frame_buffer | ||
) |
Definition at line 144 of file unsolicited_frame_control.c.
enum sci_status sci_unsolicited_frame_control_get_header | ( | struct sci_unsolicited_frame_control * | uf_control, |
u32 | frame_index, | ||
void ** | frame_header | ||
) |
Definition at line 128 of file unsolicited_frame_control.c.
bool sci_unsolicited_frame_control_release_frame | ( | struct sci_unsolicited_frame_control * | uf_control, |
u32 | frame_index | ||
) |
Definition at line 157 of file unsolicited_frame_control.c.