Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
st_data_s Struct Reference

#include <ti_wilink_st.h>

Data Fields

unsigned long st_state
 
struct sk_bufftx_skb
 
unsigned long tx_state
 
struct st_proto_slist [ST_MAX_CHANNELS]
 
bool is_registered [ST_MAX_CHANNELS]
 
unsigned long rx_state
 
unsigned long rx_count
 
struct sk_buffrx_skb
 
unsigned char rx_chnl
 
struct sk_buff_head txq tx_waitq
 
spinlock_t lock
 
unsigned char protos_registered
 
unsigned long ll_state
 
voidkim_data
 
struct tty_structtty
 

Detailed Description

struct st_data_s - ST core internal structure : different states of ST like initializing, registration in progress, this is mainly used to return relevant err codes when protocol drivers are registering. It is also used to track the recv function, as in during fw download only HCI events can occur , where as during other times other events CH8, CH9 can occur. : tty provided by the TTY core for line disciplines. : If for some reason the tty's write returns lesser bytes written then to maintain the rest of data to be written on next instance. This needs to be protected, hence the lock inside wakeup func. : if the data is being written onto the TTY and protocol driver wants to send more, queue up data and mark that there is more data to send. : the list of protocols registered, only MAX can exist, one protocol can register only once. : states to be maintained inside st's tty receive : count to be maintained inside st's tty receieve : the skb where all data for a protocol gets accumulated, since tty might not call receive when a complete event packet is received, the states, count and the skb needs to be maintained. : the channel ID for which the data is getting accumalated for. : the list of skbs which needs to be sent onto the TTY. : if the chip is not in AWAKE state, the skbs needs to be queued up in here, PM(WAKEUP_IND) data needs to be sent and then the skbs from waitq can be moved onto the txq. Needs locking too. : the lock to protect skbs, queues, and ST states. : count of the protocols registered, also when 0 the chip enable gpio can be toggled, and when it changes to 1 the fw needs to be downloaded to initialize chip side ST. : the various PM states the chip can be, the states are notified to us, when the chip sends relevant PM packets(SLEEP_IND, WAKE_IND). : reference to the parent encapsulating structure.

Definition at line 143 of file ti_wilink_st.h.

Field Documentation

bool is_registered[ST_MAX_CHANNELS]

Definition at line 150 of file ti_wilink_st.h.

void* kim_data

Definition at line 159 of file ti_wilink_st.h.

Definition at line 149 of file ti_wilink_st.h.

unsigned long ll_state

Definition at line 158 of file ti_wilink_st.h.

spinlock_t lock

Definition at line 156 of file ti_wilink_st.h.

unsigned char protos_registered

Definition at line 157 of file ti_wilink_st.h.

unsigned char rx_chnl

Definition at line 154 of file ti_wilink_st.h.

unsigned long rx_count

Definition at line 152 of file ti_wilink_st.h.

struct sk_buff* rx_skb

Definition at line 153 of file ti_wilink_st.h.

unsigned long rx_state

Definition at line 151 of file ti_wilink_st.h.

unsigned long st_state

Definition at line 144 of file ti_wilink_st.h.

Definition at line 160 of file ti_wilink_st.h.

struct sk_buff* tx_skb

Definition at line 145 of file ti_wilink_st.h.

unsigned long tx_state

Definition at line 148 of file ti_wilink_st.h.

struct sk_buff_head txq tx_waitq

Definition at line 155 of file ti_wilink_st.h.


The documentation for this struct was generated from the following file: