Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
tx.h File Reference

Go to the source code of this file.

Data Structures

struct  wl127x_tx_mem
 
struct  wl128x_tx_mem
 
struct  wl18xx_tx_mem
 
struct  wl1271_tx_hw_descr
 
struct  wl1271_tx_hw_res_descr
 
struct  wl1271_tx_hw_res_if
 

Macros

#define TX_HW_MGMT_PKT_LIFETIME_TU   2000
 
#define TX_HW_AP_MODE_PKT_LIFETIME_TU   8000
 
#define TX_HW_ATTR_SAVE_RETRIES   BIT(0)
 
#define TX_HW_ATTR_HEADER_PAD   BIT(1)
 
#define TX_HW_ATTR_SESSION_COUNTER   (BIT(2) | BIT(3) | BIT(4))
 
#define TX_HW_ATTR_RATE_POLICY
 
#define TX_HW_ATTR_LAST_WORD_PAD   (BIT(10) | BIT(11))
 
#define TX_HW_ATTR_TX_CMPLT_REQ   BIT(12)
 
#define TX_HW_ATTR_TX_DUMMY_REQ   BIT(13)
 
#define TX_HW_ATTR_HOST_ENCRYPT   BIT(14)
 
#define TX_HW_ATTR_OFST_SAVE_RETRIES   0
 
#define TX_HW_ATTR_OFST_HEADER_PAD   1
 
#define TX_HW_ATTR_OFST_SESSION_COUNTER   2
 
#define TX_HW_ATTR_OFST_RATE_POLICY   5
 
#define TX_HW_ATTR_OFST_LAST_WORD_PAD   10
 
#define TX_HW_ATTR_OFST_TX_CMPLT_REQ   12
 
#define TX_HW_RESULT_QUEUE_LEN   16
 
#define TX_HW_RESULT_QUEUE_LEN_MASK   0xf
 
#define WL1271_TX_ALIGN_TO   4
 
#define WL1271_EXTRA_SPACE_TKIP   4
 
#define WL1271_EXTRA_SPACE_AES   8
 
#define WL1271_EXTRA_SPACE_MAX   8
 
#define WL1271_TID_MGMT   7
 
#define WL12XX_BUS_BLOCK_SIZE
 

Enumerations

enum  wl1271_tx_hw_res_status {
  TX_SUCCESS = 0, TX_HW_ERROR = 1, TX_DISABLED = 2, TX_RETRY_EXCEEDED = 3,
  TX_TIMEOUT = 4, TX_KEY_NOT_FOUND = 5, TX_PEER_NOT_FOUND = 6, TX_SESSION_MISMATCH = 7,
  TX_LINK_NOT_VALID = 8
}
 
enum  wlcore_queue_stop_reason { WLCORE_QUEUE_STOP_REASON_WATERMARK, WLCORE_QUEUE_STOP_REASON_FW_RESTART, WLCORE_QUEUE_STOP_REASON_FLUSH, WLCORE_QUEUE_STOP_REASON_SPARE_BLK }
 

Functions

void wl1271_tx_work (struct work_struct *work)
 
int wlcore_tx_work_locked (struct wl1271 *wl)
 
int wlcore_tx_complete (struct wl1271 *wl)
 
void wl12xx_tx_reset_wlvif (struct wl1271 *wl, struct wl12xx_vif *wlvif)
 
void wl12xx_tx_reset (struct wl1271 *wl)
 
void wl1271_tx_flush (struct wl1271 *wl)
 
u8 wlcore_rate_to_idx (struct wl1271 *wl, u8 rate, enum ieee80211_band band)
 
u32 wl1271_tx_enabled_rates_get (struct wl1271 *wl, u32 rate_set, enum ieee80211_band rate_band)
 
u32 wl1271_tx_min_rate_get (struct wl1271 *wl, u32 rate_set)
 
u8 wl12xx_tx_get_hlid (struct wl1271 *wl, struct wl12xx_vif *wlvif, struct sk_buff *skb, struct ieee80211_sta *sta)
 
void wl1271_tx_reset_link_queues (struct wl1271 *wl, u8 hlid)
 
void wl1271_handle_tx_low_watermark (struct wl1271 *wl)
 
bool wl12xx_is_dummy_packet (struct wl1271 *wl, struct sk_buff *skb)
 
void wl12xx_rearm_rx_streaming (struct wl1271 *wl, unsigned long *active_hlids)
 
unsigned int wlcore_calc_packet_alignment (struct wl1271 *wl, unsigned int packet_length)
 
void wl1271_free_tx_id (struct wl1271 *wl, int id)
 
void wlcore_stop_queue_locked (struct wl1271 *wl, u8 queue, enum wlcore_queue_stop_reason reason)
 
void wlcore_stop_queue (struct wl1271 *wl, u8 queue, enum wlcore_queue_stop_reason reason)
 
void wlcore_wake_queue (struct wl1271 *wl, u8 queue, enum wlcore_queue_stop_reason reason)
 
void wlcore_stop_queues (struct wl1271 *wl, enum wlcore_queue_stop_reason reason)
 
void wlcore_wake_queues (struct wl1271 *wl, enum wlcore_queue_stop_reason reason)
 
void wlcore_reset_stopped_queues (struct wl1271 *wl)
 
bool wlcore_is_queue_stopped_by_reason (struct wl1271 *wl, u8 queue, enum wlcore_queue_stop_reason reason)
 
bool wlcore_is_queue_stopped (struct wl1271 *wl, u8 queue)
 
void wl1271_free_sta (struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid)
 
void wl12xx_rearm_tx_watchdog_locked (struct wl1271 *wl)
 

Variables

struct wl127x_tx_mem __packed
 

Macro Definition Documentation

#define TX_HW_AP_MODE_PKT_LIFETIME_TU   8000

Definition at line 29 of file tx.h.

#define TX_HW_ATTR_HEADER_PAD   BIT(1)

Definition at line 32 of file tx.h.

#define TX_HW_ATTR_HOST_ENCRYPT   BIT(14)

Definition at line 39 of file tx.h.

#define TX_HW_ATTR_LAST_WORD_PAD   (BIT(10) | BIT(11))

Definition at line 36 of file tx.h.

#define TX_HW_ATTR_OFST_HEADER_PAD   1

Definition at line 42 of file tx.h.

#define TX_HW_ATTR_OFST_LAST_WORD_PAD   10

Definition at line 45 of file tx.h.

#define TX_HW_ATTR_OFST_RATE_POLICY   5

Definition at line 44 of file tx.h.

#define TX_HW_ATTR_OFST_SAVE_RETRIES   0

Definition at line 41 of file tx.h.

#define TX_HW_ATTR_OFST_SESSION_COUNTER   2

Definition at line 43 of file tx.h.

#define TX_HW_ATTR_OFST_TX_CMPLT_REQ   12

Definition at line 46 of file tx.h.

#define TX_HW_ATTR_RATE_POLICY
Value:
(BIT(5) | BIT(6) | BIT(7) | \
BIT(8) | BIT(9))

Definition at line 34 of file tx.h.

#define TX_HW_ATTR_SAVE_RETRIES   BIT(0)

Definition at line 31 of file tx.h.

#define TX_HW_ATTR_SESSION_COUNTER   (BIT(2) | BIT(3) | BIT(4))

Definition at line 33 of file tx.h.

#define TX_HW_ATTR_TX_CMPLT_REQ   BIT(12)

Definition at line 37 of file tx.h.

#define TX_HW_ATTR_TX_DUMMY_REQ   BIT(13)

Definition at line 38 of file tx.h.

#define TX_HW_MGMT_PKT_LIFETIME_TU   2000

Definition at line 28 of file tx.h.

#define TX_HW_RESULT_QUEUE_LEN   16

Definition at line 48 of file tx.h.

#define TX_HW_RESULT_QUEUE_LEN_MASK   0xf

Definition at line 49 of file tx.h.

#define WL1271_EXTRA_SPACE_AES   8

Definition at line 53 of file tx.h.

#define WL1271_EXTRA_SPACE_MAX   8

Definition at line 54 of file tx.h.

#define WL1271_EXTRA_SPACE_TKIP   4

Definition at line 52 of file tx.h.

#define WL1271_TID_MGMT   7

Definition at line 57 of file tx.h.

#define WL1271_TX_ALIGN_TO   4

Definition at line 51 of file tx.h.

#define WL12XX_BUS_BLOCK_SIZE
Value:
min(512u, \
(1u << (8 * sizeof(((struct wl128x_tx_mem *) 0)->extra_bytes))))

Definition at line 107 of file tx.h.

Enumeration Type Documentation

Enumerator:
TX_SUCCESS 
TX_HW_ERROR 
TX_DISABLED 
TX_RETRY_EXCEEDED 
TX_TIMEOUT 
TX_KEY_NOT_FOUND 
TX_PEER_NOT_FOUND 
TX_SESSION_MISMATCH 
TX_LINK_NOT_VALID 

Definition at line 145 of file tx.h.

Enumerator:
WLCORE_QUEUE_STOP_REASON_WATERMARK 
WLCORE_QUEUE_STOP_REASON_FW_RESTART 
WLCORE_QUEUE_STOP_REASON_FLUSH 
WLCORE_QUEUE_STOP_REASON_SPARE_BLK 

Definition at line 187 of file tx.h.

Function Documentation

void wl1271_free_sta ( struct wl1271 wl,
struct wl12xx_vif wlvif,
u8  hlid 
)

Definition at line 4317 of file main.c.

void wl1271_free_tx_id ( struct wl1271 wl,
int  id 
)

Definition at line 75 of file tx.c.

void wl1271_handle_tx_low_watermark ( struct wl1271 wl)

Definition at line 452 of file tx.c.

u32 wl1271_tx_enabled_rates_get ( struct wl1271 wl,
u32  rate_set,
enum ieee80211_band  rate_band 
)

Definition at line 426 of file tx.c.

void wl1271_tx_flush ( struct wl1271 wl)

Definition at line 1077 of file tx.c.

u32 wl1271_tx_min_rate_get ( struct wl1271 wl,
u32  rate_set 
)

Definition at line 1131 of file tx.c.

void wl1271_tx_reset_link_queues ( struct wl1271 wl,
u8  hlid 
)

Definition at line 968 of file tx.c.

void wl1271_tx_work ( struct work_struct work)

Definition at line 786 of file tx.c.

bool wl12xx_is_dummy_packet ( struct wl1271 wl,
struct sk_buff skb 
)

Definition at line 127 of file tx.c.

void wl12xx_rearm_rx_streaming ( struct wl1271 wl,
unsigned long active_hlids 
)

Definition at line 636 of file tx.c.

void wl12xx_rearm_tx_watchdog_locked ( struct wl1271 wl)

Definition at line 230 of file main.c.

u8 wl12xx_tx_get_hlid ( struct wl1271 wl,
struct wl12xx_vif wlvif,
struct sk_buff skb,
struct ieee80211_sta sta 
)

Definition at line 155 of file tx.c.

void wl12xx_tx_reset ( struct wl1271 wl)

Definition at line 1019 of file tx.c.

void wl12xx_tx_reset_wlvif ( struct wl1271 wl,
struct wl12xx_vif wlvif 
)

Definition at line 1001 of file tx.c.

unsigned int wlcore_calc_packet_alignment ( struct wl1271 wl,
unsigned int  packet_length 
)

Definition at line 175 of file tx.c.

bool wlcore_is_queue_stopped ( struct wl1271 wl,
u8  queue 
)

Definition at line 1227 of file tx.c.

bool wlcore_is_queue_stopped_by_reason ( struct wl1271 wl,
u8  queue,
enum wlcore_queue_stop_reason  reason 
)

Definition at line 1221 of file tx.c.

u8 wlcore_rate_to_idx ( struct wl1271 wl,
u8  rate,
enum ieee80211_band  band 
)

Definition at line 4881 of file main.c.

void wlcore_reset_stopped_queues ( struct wl1271 wl)

Definition at line 1202 of file tx.c.

void wlcore_stop_queue ( struct wl1271 wl,
u8  queue,
enum wlcore_queue_stop_reason  reason 
)

Definition at line 1153 of file tx.c.

void wlcore_stop_queue_locked ( struct wl1271 wl,
u8  queue,
enum wlcore_queue_stop_reason  reason 
)

Definition at line 1139 of file tx.c.

void wlcore_stop_queues ( struct wl1271 wl,
enum wlcore_queue_stop_reason  reason 
)

Definition at line 1182 of file tx.c.

int wlcore_tx_complete ( struct wl1271 wl)

Definition at line 922 of file tx.c.

int wlcore_tx_work_locked ( struct wl1271 wl)

Definition at line 682 of file tx.c.

void wlcore_wake_queue ( struct wl1271 wl,
u8  queue,
enum wlcore_queue_stop_reason  reason 
)

Definition at line 1163 of file tx.c.

void wlcore_wake_queues ( struct wl1271 wl,
enum wlcore_queue_stop_reason  reason 
)

Definition at line 1192 of file tx.c.

Variable Documentation