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

#include <iwl-fh.h>

Data Fields

u8 __reserved1 [3]
 
u8 num_tbs
 
struct iwl_tfd_tb tbs [IWL_NUM_OF_TBS]
 
__le32 __pad
 

Detailed Description

struct iwl_tfd

Transmit Frame Descriptor (TFD)

@ __reserved1[3] reserved @ num_tbs 0-4 number of active tbs 5 reserved 6-7 padding (not used) @ tbs[20] transmit frame buffer descriptors @ __pad padding

Each Tx queue uses a circular buffer of 256 TFDs stored in host DRAM. Both driver and device share these circular buffers, each of which must be contiguous 256 TFDs x 128 bytes-per-TFD = 32 KBytes

Driver must indicate the physical address of the base of each circular buffer via the FH_MEM_CBBC_QUEUE registers.

Each TFD contains pointer/size information for up to 20 data buffers in host DRAM. These buffers collectively contain the (one) frame described by the TFD. Each buffer must be a single contiguous block of memory within itself, but buffers may be scattered in host DRAM. Each buffer has max size of (4K - 4). The concatenates all of a TFD's buffers into a single Tx frame, up to 8 KBytes in size.

A maximum of 255 (not 256!) TFDs may be on a queue waiting for Tx.

Definition at line 513 of file iwl-fh.h.

Field Documentation

__le32 __pad

Definition at line 517 of file iwl-fh.h.

u8 __reserved1[3]

Definition at line 514 of file iwl-fh.h.

u8 num_tbs

Definition at line 515 of file iwl-fh.h.

Definition at line 516 of file iwl-fh.h.


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