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

#include <common.h>

Data Fields

const charname
 
const charfw_name_pre
 
const unsigned int ucode_api_max
 
const unsigned int ucode_api_min
 
u8 valid_tx_ant
 
u8 valid_rx_ant
 
unsigned int sku
 
u16 eeprom_ver
 
u16 eeprom_calib_ver
 
struct il_mod_paramsmod_params
 
struct il_base_params * base_params
 
u8 scan_rx_antennas [IEEE80211_NUM_BANDS]
 
enum il_led_mode led_mode
 
int eeprom_size
 
int num_of_queues
 
int num_of_ampdu_queues
 
u32 pll_cfg_val
 
bool set_l0s
 
bool use_bsm
 
u16 led_compensation
 
int chain_noise_num_beacons
 
unsigned int wd_timeout
 
bool temperature_kelvin
 
const bool ucode_tracing
 
const bool sensitivity_calib_by_driver
 
const bool chain_noise_calib_by_driver
 
const u32 regulatory_bands [7]
 

Detailed Description

struct il_cfg : Firmware filename prefix. The api version and extension (.ucode) will be added to filename before loading from disk. The filename is constructed as fw_name_pre<api>.ucode. : Highest version of uCode API supported by driver. : Lowest version of uCode API supported by driver. : available antenna for scan operation : 0=blinking, 1=On(RF On)/Off(RF Off)

We enable the driver to be backward compatible wrt API version. The driver specifies which APIs it supports (with being the highest and the lowest). Firmware will only be loaded if it has a supported API version. The firmware's API version will be stored in , enabling the driver to make runtime changes based on firmware version used.

For example, if (IL_UCODE_API(il->ucode_ver) >= 2) { Driver interacts with Firmware API version >= 2. } else { Driver interacts with Firmware API version 1. }

The ideal usage of this infrastructure is to treat a new ucode API release as a new hardware revision. That is, through utilizing the il_hcmd_utils_ops etc. we accommodate different command structures and flows between hardware versions as well as their API versions.

Definition at line 1660 of file common.h.

Field Documentation

struct il_base_params* base_params

Definition at line 1674 of file common.h.

const bool chain_noise_calib_by_driver

Definition at line 1693 of file common.h.

int chain_noise_num_beacons

Definition at line 1688 of file common.h.

u16 eeprom_calib_ver

Definition at line 1670 of file common.h.

int eeprom_size

Definition at line 1679 of file common.h.

u16 eeprom_ver

Definition at line 1669 of file common.h.

const char* fw_name_pre

Definition at line 1663 of file common.h.

u16 led_compensation

Definition at line 1687 of file common.h.

Definition at line 1677 of file common.h.

struct il_mod_params* mod_params

Definition at line 1672 of file common.h.

const char* name

Definition at line 1662 of file common.h.

int num_of_ampdu_queues

Definition at line 1681 of file common.h.

int num_of_queues

Definition at line 1680 of file common.h.

u32 pll_cfg_val

Definition at line 1683 of file common.h.

const u32 regulatory_bands[7]

Definition at line 1695 of file common.h.

u8 scan_rx_antennas[IEEE80211_NUM_BANDS]

Definition at line 1676 of file common.h.

const bool sensitivity_calib_by_driver

Definition at line 1692 of file common.h.

bool set_l0s

Definition at line 1684 of file common.h.

unsigned int sku

Definition at line 1668 of file common.h.

bool temperature_kelvin

Definition at line 1690 of file common.h.

const unsigned int ucode_api_max

Definition at line 1664 of file common.h.

const unsigned int ucode_api_min

Definition at line 1665 of file common.h.

const bool ucode_tracing

Definition at line 1691 of file common.h.

bool use_bsm

Definition at line 1685 of file common.h.

u8 valid_rx_ant

Definition at line 1667 of file common.h.

u8 valid_tx_ant

Definition at line 1666 of file common.h.

unsigned int wd_timeout

Definition at line 1689 of file common.h.


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