Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
tx.c File Reference
#include <linux/etherdevice.h>
#include <linux/slab.h>
#include <linux/sched.h>
#include "iwl-debug.h"
#include "iwl-csr.h"
#include "iwl-prph.h"
#include "iwl-io.h"
#include "iwl-op-mode.h"
#include "internal.h"
#include "dvm/commands.h"

Go to the source code of this file.

Macros

#define IWL_TX_CRC_SIZE   4
 
#define IWL_TX_DELIMITER_SIZE   4
 
#define HOST_COMPLETE_TIMEOUT   (2 * HZ)
 

Functions

void iwl_trans_txq_update_byte_cnt_tbl (struct iwl_trans *trans, struct iwl_tx_queue *txq, u16 byte_cnt)
 
void iwl_txq_update_write_ptr (struct iwl_trans *trans, struct iwl_tx_queue *txq)
 
void iwl_txq_free_tfd (struct iwl_trans *trans, struct iwl_tx_queue *txq, enum dma_data_direction dma_dir)
 
int iwlagn_txq_attach_buf_to_tfd (struct iwl_trans *trans, struct iwl_tx_queue *txq, dma_addr_t addr, u16 len, u8 reset)
 
int iwl_queue_space (const struct iwl_queue *q)
 
int iwl_queue_init (struct iwl_queue *q, int count, int slots_num, u32 id)
 
void iwl_trans_pcie_txq_enable (struct iwl_trans *trans, int txq_id, int fifo, int sta_id, int tid, int frame_limit, u16 ssn)
 
void iwl_trans_pcie_txq_disable (struct iwl_trans *trans, int txq_id)
 
void iwl_tx_cmd_complete (struct iwl_trans *trans, struct iwl_rx_cmd_buffer *rxb, int handler_status)
 
int iwl_trans_pcie_send_cmd (struct iwl_trans *trans, struct iwl_host_cmd *cmd)
 
int iwl_tx_queue_reclaim (struct iwl_trans *trans, int txq_id, int index, struct sk_buff_head *skbs)
 

Macro Definition Documentation

#define HOST_COMPLETE_TIMEOUT   (2 * HZ)

Definition at line 787 of file tx.c.

#define IWL_TX_CRC_SIZE   4

Definition at line 42 of file tx.c.

#define IWL_TX_DELIMITER_SIZE   4

Definition at line 43 of file tx.c.

Function Documentation

int iwl_queue_init ( struct iwl_queue q,
int  count,
int  slots_num,
u32  id 
)

iwl_queue_init - Initialize queue's high/low-water and read/write indexes

Definition at line 328 of file tx.c.

int iwl_queue_space ( const struct iwl_queue q)

Definition at line 309 of file tx.c.

int iwl_trans_pcie_send_cmd ( struct iwl_trans trans,
struct iwl_host_cmd cmd 
)

Definition at line 896 of file tx.c.

void iwl_trans_pcie_txq_disable ( struct iwl_trans trans,
int  txq_id 
)

Definition at line 480 of file tx.c.

void iwl_trans_pcie_txq_enable ( struct iwl_trans trans,
int  txq_id,
int  fifo,
int  sta_id,
int  tid,
int  frame_limit,
u16  ssn 
)

Definition at line 418 of file tx.c.

void iwl_trans_txq_update_byte_cnt_tbl ( struct iwl_trans trans,
struct iwl_tx_queue txq,
u16  byte_cnt 
)

iwl_trans_txq_update_byte_cnt_tbl - Set up entry in Tx byte-count array

Definition at line 48 of file tx.c.

void iwl_tx_cmd_complete ( struct iwl_trans trans,
struct iwl_rx_cmd_buffer rxb,
int  handler_status 
)

iwl_tx_cmd_complete - Pull unused buffers off the queue and reclaim them : Rx buffer to reclaim : return value of the handler of the command (put in setup_rx_handlers)

If an Rx buffer has an async callback associated with it the callback will be executed. The attached skb (if present) will only be freed if the callback returns 1

Definition at line 723 of file tx.c.

int iwl_tx_queue_reclaim ( struct iwl_trans trans,
int  txq_id,
int  index,
struct sk_buff_head skbs 
)

Definition at line 905 of file tx.c.

void iwl_txq_free_tfd ( struct iwl_trans trans,
struct iwl_tx_queue txq,
enum dma_data_direction  dma_dir 
)

iwl_txq_free_tfd - Free all chunks referenced by TFD [txq->q.read_ptr] - transport private data - tx queue - the direction of the DMA mapping

Does NOT advance any TFD circular buffer read/write indexes Does NOT free the TFD itself (which is within circular buffer)

Definition at line 218 of file tx.c.

void iwl_txq_update_write_ptr ( struct iwl_trans trans,
struct iwl_tx_queue txq 
)

iwl_txq_update_write_ptr - Send new write index to hardware

Definition at line 94 of file tx.c.

int iwlagn_txq_attach_buf_to_tfd ( struct iwl_trans trans,
struct iwl_tx_queue txq,
dma_addr_t  addr,
u16  len,
u8  reset 
)

Definition at line 250 of file tx.c.