Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
internal.h File Reference
#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/skbuff.h>
#include <linux/wait.h>
#include <linux/pci.h>
#include <linux/timer.h>
#include "iwl-fh.h"
#include "iwl-csr.h"
#include "iwl-trans.h"
#include "iwl-debug.h"
#include "iwl-io.h"
#include "iwl-op-mode.h"

Go to the source code of this file.

Data Structures

struct  iwl_rx_mem_buffer
 
struct  isr_statistics
 
struct  iwl_rx_queue
 
struct  iwl_dma_ptr
 
struct  iwl_cmd_meta
 
struct  iwl_queue
 
struct  iwl_pcie_tx_queue_entry
 
struct  iwl_tx_queue
 
struct  iwl_trans_pcie
 

Macros

#define TFD_TX_CMD_SLOTS   256
 
#define TFD_CMD_SLOTS   32
 
#define STATUS_HCMD_ACTIVE   0
 
#define STATUS_DEVICE_ENABLED   1
 
#define STATUS_TPOWER_PMI   2
 
#define STATUS_INT_ENABLED   3
 
#define IWL_TRANS_GET_PCIE_TRANS(_iwl_trans)   ((struct iwl_trans_pcie *) ((_iwl_trans)->trans_specific))
 

Functions

struct iwl_transiwl_trans_pcie_alloc (struct pci_dev *pdev, const struct pci_device_id *ent, const struct iwl_cfg *cfg)
 
void iwl_trans_pcie_free (struct iwl_trans *trans)
 
void iwl_bg_rx_replenish (struct work_struct *data)
 
void iwl_irq_tasklet (struct iwl_trans *trans)
 
void iwl_rx_replenish (struct iwl_trans *trans)
 
void iwl_rx_queue_update_write_ptr (struct iwl_trans *trans, struct iwl_rx_queue *q)
 
void iwl_reset_ict (struct iwl_trans *trans)
 
void iwl_disable_ict (struct iwl_trans *trans)
 
int iwl_alloc_isr_ict (struct iwl_trans *trans)
 
void iwl_free_isr_ict (struct iwl_trans *trans)
 
irqreturn_t iwl_isr_ict (int irq, void *data)
 
void iwl_txq_update_write_ptr (struct iwl_trans *trans, struct iwl_tx_queue *txq)
 
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_init (struct iwl_queue *q, int count, int slots_num, u32 id)
 
int iwl_trans_pcie_send_cmd (struct iwl_trans *trans, struct iwl_host_cmd *cmd)
 
void iwl_tx_cmd_complete (struct iwl_trans *trans, struct iwl_rx_cmd_buffer *rxb, int handler_status)
 
void iwl_trans_txq_update_byte_cnt_tbl (struct iwl_trans *trans, struct iwl_tx_queue *txq, u16 byte_cnt)
 
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 queue)
 
void iwl_txq_free_tfd (struct iwl_trans *trans, struct iwl_tx_queue *txq, enum dma_data_direction dma_dir)
 
int iwl_tx_queue_reclaim (struct iwl_trans *trans, int txq_id, int index, struct sk_buff_head *skbs)
 
int iwl_queue_space (const struct iwl_queue *q)
 
int iwl_dump_fh (struct iwl_trans *trans, char **buf)
 
void iwl_dump_csr (struct iwl_trans *trans)
 

Macro Definition Documentation

#define IWL_TRANS_GET_PCIE_TRANS (   _iwl_trans)    ((struct iwl_trans_pcie *) ((_iwl_trans)->trans_specific))

Definition at line 294 of file internal.h.

#define STATUS_DEVICE_ENABLED   1

Definition at line 290 of file internal.h.

#define STATUS_HCMD_ACTIVE   0

Definition at line 289 of file internal.h.

#define STATUS_INT_ENABLED   3

Definition at line 292 of file internal.h.

#define STATUS_TPOWER_PMI   2

Definition at line 291 of file internal.h.

#define TFD_CMD_SLOTS   32

Definition at line 183 of file internal.h.

#define TFD_TX_CMD_SLOTS   256

Definition at line 182 of file internal.h.

Function Documentation

int iwl_alloc_isr_ict ( struct iwl_trans trans)

Definition at line 838 of file rx.c.

void iwl_bg_rx_replenish ( struct work_struct data)

Definition at line 373 of file rx.c.

void iwl_disable_ict ( struct iwl_trans trans)

Definition at line 902 of file rx.c.

void iwl_dump_csr ( struct iwl_trans trans)

Definition at line 1755 of file trans.c.

int iwl_dump_fh ( struct iwl_trans trans,
char **  buf 
)

Definition at line 1676 of file trans.c.

void iwl_free_isr_ict ( struct iwl_trans trans)

Definition at line 819 of file rx.c.

void iwl_irq_tasklet ( struct iwl_trans trans)

Definition at line 608 of file rx.c.

irqreturn_t iwl_isr_ict ( int  irq,
void data 
)

Definition at line 985 of file rx.c.

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.

void iwl_reset_ict ( struct iwl_trans trans)

Definition at line 872 of file rx.c.

void iwl_rx_queue_update_write_ptr ( struct iwl_trans trans,
struct iwl_rx_queue q 
)

iwl_rx_queue_update_write_ptr - Update the write pointer for the RX queue

Definition at line 128 of file rx.c.

void iwl_rx_replenish ( struct iwl_trans trans)

Definition at line 354 of file rx.c.

struct iwl_trans* iwl_trans_pcie_alloc ( struct pci_dev pdev,
const struct pci_device_id ent,
const struct iwl_cfg cfg 
)
read

Definition at line 2107 of file trans.c.

void iwl_trans_pcie_free ( struct iwl_trans trans)

Definition at line 1574 of file trans.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  queue 
)

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.