Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
unsolicited_frame_control.h File Reference
#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)
 

Macro Definition Documentation

Definition at line 260 of file unsolicited_frame_control.h.

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.

Enumeration Type Documentation

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.

Enumerator:
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.

Function Documentation

void sci_unsolicited_frame_control_construct ( struct isci_host ihost)

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.