Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
iwl-drv.c File Reference
#include <linux/completion.h>
#include <linux/dma-mapping.h>
#include <linux/firmware.h>
#include <linux/module.h>
#include <linux/vmalloc.h>
#include "iwl-drv.h"
#include "iwl-debug.h"
#include "iwl-trans.h"
#include "iwl-op-mode.h"
#include "iwl-agn-hw.h"
#include "iwl-fw.h"
#include "iwl-config.h"
#include "iwl-modparams.h"
#include "iwl-fw-file.h"

Go to the source code of this file.

Data Structures

struct  iwl_drv
 
struct  iwlwifi_opmode_table
 
struct  fw_sec
 
struct  fw_img_parsing
 
struct  fw_sec_parsing
 
struct  iwl_tlv_calib_data
 
struct  iwl_firmware_pieces
 

Macros

#define DRV_DESCRIPTION   "Intel(R) Wireless WiFi driver for Linux"
 
#define VD
 
#define DRV_VERSION   IWLWIFI_VERSION VD
 
#define DVM_OP_MODE   0
 
#define MVM_OP_MODE   1
 
#define UCODE_EXPERIMENTAL_INDEX   100
 
#define UCODE_EXPERIMENTAL_TAG   "exp"
 

Functions

 MODULE_DESCRIPTION (DRV_DESCRIPTION)
 
 MODULE_VERSION (DRV_VERSION)
 
 MODULE_AUTHOR (DRV_COPYRIGHT" "DRV_AUTHOR)
 
 MODULE_LICENSE ("GPL")
 
struct iwl_drviwl_drv_start (struct iwl_trans *trans, const struct iwl_cfg *cfg)
 
void iwl_drv_stop (struct iwl_drv *drv)
 
 EXPORT_SYMBOL_GPL (iwlwifi_mod_params)
 
int iwl_opmode_register (const char *name, const struct iwl_op_mode_ops *ops)
 
 EXPORT_SYMBOL_GPL (iwl_opmode_register)
 
void iwl_opmode_deregister (const char *name)
 
 EXPORT_SYMBOL_GPL (iwl_opmode_deregister)
 
 module_init (iwl_drv_init)
 
 module_exit (iwl_drv_exit)
 
 module_param_named (swcrypto, iwlwifi_mod_params.sw_crypto, int, S_IRUGO)
 
 MODULE_PARM_DESC (swcrypto,"using crypto in software (default 0 [hardware])")
 
 module_param_named (11n_disable, iwlwifi_mod_params.disable_11n, uint, S_IRUGO)
 
 MODULE_PARM_DESC (11n_disable,"disable 11n functionality, bitmap: 1: full, 2: agg TX, 4: agg RX")
 
 module_param_named (amsdu_size_8K, iwlwifi_mod_params.amsdu_size_8K, int, S_IRUGO)
 
 MODULE_PARM_DESC (amsdu_size_8K,"enable 8K amsdu size")
 
 module_param_named (fw_restart, iwlwifi_mod_params.restart_fw, int, S_IRUGO)
 
 MODULE_PARM_DESC (fw_restart,"restart firmware in case of error")
 
 module_param_named (antenna_coupling, iwlwifi_mod_params.ant_coupling, int, S_IRUGO)
 
 MODULE_PARM_DESC (antenna_coupling,"specify antenna coupling in dB (defualt: 0 dB)")
 
 module_param_named (bt_ch_inhibition, iwlwifi_mod_params.bt_ch_announce, bool, S_IRUGO)
 
 MODULE_PARM_DESC (bt_ch_inhibition,"Enable BT channel inhibition (default: enable)")
 
 module_param_named (plcp_check, iwlwifi_mod_params.plcp_check, bool, S_IRUGO)
 
 MODULE_PARM_DESC (plcp_check,"Check plcp health (default: 1 [enabled])")
 
 module_param_named (wd_disable, iwlwifi_mod_params.wd_disable, int, S_IRUGO)
 
 MODULE_PARM_DESC (wd_disable,"Disable stuck queue watchdog timer 0=system default, ""1=disable, 2=enable (default: 0)")
 
 module_param_named (bt_coex_active, iwlwifi_mod_params.bt_coex_active, bool, S_IRUGO)
 
 MODULE_PARM_DESC (bt_coex_active,"enable wifi/bt co-exist (default: enable)")
 
 module_param_named (led_mode, iwlwifi_mod_params.led_mode, int, S_IRUGO)
 
 MODULE_PARM_DESC (led_mode,"0=system default, ""1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0)")
 
 module_param_named (power_save, iwlwifi_mod_params.power_save, bool, S_IRUGO)
 
 MODULE_PARM_DESC (power_save,"enable WiFi power management (default: disable)")
 
 module_param_named (power_level, iwlwifi_mod_params.power_level, int, S_IRUGO)
 
 MODULE_PARM_DESC (power_level,"default power save level (range from 1 - 5, default: 1)")
 
 module_param_named (auto_agg, iwlwifi_mod_params.auto_agg, bool, S_IRUGO)
 
 MODULE_PARM_DESC (auto_agg,"enable agg w/o check traffic load (default: enable)")
 
 module_param_named (5ghz_disable, iwlwifi_mod_params.disable_5ghz, bool, S_IRUGO)
 
 MODULE_PARM_DESC (5ghz_disable,"disable 5GHz band (default: 0 [enabled])")
 

Variables

struct fw_sec_parsing __packed
 
struct iwl_mod_params iwlwifi_mod_params
 

Macro Definition Documentation

#define DRV_DESCRIPTION   "Intel(R) Wireless WiFi driver for Linux"

Definition at line 90 of file iwl-drv.c.

#define DRV_VERSION   IWLWIFI_VERSION VD

Definition at line 98 of file iwl-drv.c.

#define DVM_OP_MODE   0

Definition at line 142 of file iwl-drv.c.

#define MVM_OP_MODE   1

Definition at line 143 of file iwl-drv.c.

#define UCODE_EXPERIMENTAL_INDEX   100

Definition at line 212 of file iwl-drv.c.

#define UCODE_EXPERIMENTAL_TAG   "exp"

Definition at line 213 of file iwl-drv.c.

#define VD

Definition at line 95 of file iwl-drv.c.

Function Documentation

EXPORT_SYMBOL_GPL ( iwlwifi_mod_params  )
EXPORT_SYMBOL_GPL ( iwl_opmode_register  )
EXPORT_SYMBOL_GPL ( iwl_opmode_deregister  )
struct iwl_drv* iwl_drv_start ( struct iwl_trans trans,
const struct iwl_cfg cfg 
)
read

iwl_drv_start - start the drv

: the ops of the transport : device specific constants / virtual functions

starts the driver: fetches the firmware. This should be called by bus specific system flows implementations. For example, the bus specific probe function should do bus related operations only, and then call to this function. It returns the driver object or NULL if an error occured.

Definition at line 1011 of file iwl-drv.c.

void iwl_drv_stop ( struct iwl_drv drv)

iwl_drv_stop - stop the drv

:

Stop the driver. This should be called by bus specific system flows implementations. For example, the bus specific remove function should first call this function and then do the bus related operations only.

Definition at line 1068 of file iwl-drv.c.

void iwl_opmode_deregister ( const char name)

Definition at line 1132 of file iwl-drv.c.

int iwl_opmode_register ( const char name,
const struct iwl_op_mode_ops ops 
)

Definition at line 1108 of file iwl-drv.c.

MODULE_AUTHOR ( DRV_COPYRIGHT" "  DRV_AUTHOR)
MODULE_DESCRIPTION ( DRV_DESCRIPTION  )
module_exit ( iwl_drv_exit  )
module_init ( iwl_drv_init  )
MODULE_LICENSE ( "GPL"  )
module_param_named ( swcrypto  ,
iwlwifi_mod_params.  sw_crypto,
int  ,
S_IRUGO   
)
module_param_named ( 11n_disable  ,
iwlwifi_mod_params.  disable_11n,
uint  ,
S_IRUGO   
)
module_param_named ( amsdu_size_8K  ,
iwlwifi_mod_params.  amsdu_size_8K,
int  ,
S_IRUGO   
)
module_param_named ( fw_restart  ,
iwlwifi_mod_params.  restart_fw,
int  ,
S_IRUGO   
)
module_param_named ( antenna_coupling  ,
iwlwifi_mod_params.  ant_coupling,
int  ,
S_IRUGO   
)
module_param_named ( bt_ch_inhibition  ,
iwlwifi_mod_params.  bt_ch_announce,
bool  ,
S_IRUGO   
)
module_param_named ( plcp_check  ,
iwlwifi_mod_params.  plcp_check,
bool  ,
S_IRUGO   
)
module_param_named ( wd_disable  ,
iwlwifi_mod_params.  wd_disable,
int  ,
S_IRUGO   
)
module_param_named ( bt_coex_active  ,
iwlwifi_mod_params.  bt_coex_active,
bool  ,
S_IRUGO   
)
module_param_named ( led_mode  ,
iwlwifi_mod_params.  led_mode,
int  ,
S_IRUGO   
)
module_param_named ( power_save  ,
iwlwifi_mod_params.  power_save,
bool  ,
S_IRUGO   
)
module_param_named ( power_level  ,
iwlwifi_mod_params.  power_level,
int  ,
S_IRUGO   
)
module_param_named ( auto_agg  ,
iwlwifi_mod_params.  auto_agg,
bool  ,
S_IRUGO   
)
module_param_named ( 5ghz_disable  ,
iwlwifi_mod_params.  disable_5ghz,
bool  ,
S_IRUGO   
)
MODULE_PARM_DESC ( swcrypto  ,
"using crypto in software (default 0 [hardware])"   
)
MODULE_PARM_DESC ( 11n_disable  ,
"disable 11n  functionality,
bitmap:1:full  ,
2:agg  TX,
4:agg RX  
)
MODULE_PARM_DESC ( amsdu_size_8K  ,
"enable 8K amsdu size"   
)
MODULE_PARM_DESC ( fw_restart  ,
"restart firmware in case of error  
)
MODULE_PARM_DESC ( antenna_coupling  ,
"specify antenna coupling in dB (defualt: 0 dB)"   
)
MODULE_PARM_DESC ( bt_ch_inhibition  ,
"Enable BT channel inhibition (default: enable)"   
)
MODULE_PARM_DESC ( plcp_check  ,
"Check plcp health (default: 1 [enabled])"   
)
MODULE_PARM_DESC ( wd_disable  ,
"Disable stuck queue watchdog timer  0 = system default,
""  1 = disable 
)
MODULE_PARM_DESC ( bt_coex_active  ,
"enable wifi/bt co-exist (default: enable)"   
)
MODULE_PARM_DESC ( led_mode  ,
0 = system default,
""  1 = On(RF On)/Off(RF Off),
= blinking 
)
MODULE_PARM_DESC ( power_save  ,
"enable WiFi power management (default: disable)"   
)
MODULE_PARM_DESC ( power_level  ,
"default power save level (range from 1 - 5, default: 1)"   
)
MODULE_PARM_DESC ( auto_agg  ,
"enable agg w/o check traffic load (default: enable)"   
)
MODULE_PARM_DESC ( 5ghz_disable  ,
"disable 5GHz band (default: 0 [enabled])"   
)
MODULE_VERSION ( DRV_VERSION  )

Variable Documentation

struct iwl_mod_params iwlwifi_mod_params
Initial value:
= {
.amsdu_size_8K = 1,
.restart_fw = 1,
.plcp_check = true,
.bt_coex_active = true,
.power_level = IWL_POWER_INDEX_1,
.bt_ch_announce = true,
.auto_agg = true,
.wd_disable = true,
}

Definition at line 1095 of file iwl-drv.c.