Go back –> iwl3945 kerneldoc
struct iwl3945_tx_queue - Tx Queue for DMA
struct iwl3945_tx_queue {struct iwl3945_queue q;
struct iwl3945_tfd_frame * bd;
struct iwl3945_cmd * cmd;
dma_addr_t dma_addr_cmd;
struct iwl3945_tx_info * txb;
int need_update;
};
Members
- q
- generic Rx/Tx queue descriptor
- bd
- base of circular buffer of TFDs
- cmd
- array of command/Tx buffers
- dma_addr_cmd
- physical address of cmd/tx buffer array
- txb
- array of per-TFD driver data
- need_update
- indicates need to update read/write index
Description
A Tx queue consists of circular buffer of BDs (a.k.a. TFDs, transmit frame descriptors) and required locking structures.
struct iwl3945_cmd -
struct iwl3945_cmd {};
Members
Description
For allocation of the command and tx queues, this establishes the overall size of the largest command we send to uCode, except for a scan command (which is relatively huge; space is allocated separately).
struct iwl3945_rx_queue - Rx queue
struct iwl3945_rx_queue {u32 processed;
u32 read;
u32 write;
u32 free_count;
struct list_head rx_free;
struct list_head rx_used;
int need_update;
};
Members
- processed
- Internal index to last handled Rx packet
- read
- Shared index to newest available Rx buffer
- write
- Shared index to oldest written Rx packet
- free_count
- Number of pre-allocated buffers in rx_free
- rx_free
- list of free SKBs for use
- rx_used
- List of Rx buffers with no SKB
- need_update
- flag to indicate we need to update read/write index
NOTE
rx_free and rx_used are used as a FIFO for iwl3945_rx_mem_buffers
struct iwl3945_driver_hw_info -
struct iwl3945_driver_hw_info {u16 max_txq_num;
u16 tx_cmd_len;
u16 tx_ant_num;
u16 max_rxq_size;
u16 max_rxq_log;
void * shared_virt;
dma_addr_t shared_phys;
};
Members
- max_txq_num
- Max # Tx queues supported
- tx_cmd_len
- Size of Tx command (but not including frame itself)
- tx_ant_num
- Number of TX antennas
- max_rxq_size
- Max # Rx frames in Rx queue (must be power-of-2)
- max_rxq_log
- Log-base-2 of max_rxq_size
- shared_virt
- Pointer to driver/uCode shared Tx Byte Counts and Rx status
- shared_phys
- Physical Pointer to Tx Byte Counts and Rx status
iwl3945_hw_find_station - Find station id for a given BSSID
u8 iwl3945_hw_find_station (struct iwl3945_priv * priv, const u8 * bssid)Arguments
- bssid
- MAC address of station ID to find
NOTE
This should not be hardware specific but the code has not yet been merged into a single common layer for managing the station tables.