2011-08-25 23:10:36 -07:00
/******************************************************************************
*
* This file is provided under a dual BSD / GPLv2 license . When using or
* redistributing this file , you may do so under either license .
*
* GPL LICENSE SUMMARY
*
2013-12-30 13:15:54 +02:00
* Copyright ( c ) 2007 - 2014 Intel Corporation . All rights reserved .
2011-08-25 23:10:36 -07:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful , but
* WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 ,
* USA
*
* The full GNU General Public License is included in this distribution
2013-02-18 09:22:28 +02:00
* in the file called COPYING .
2011-08-25 23:10:36 -07:00
*
* Contact Information :
* Intel Linux Wireless < ilw @ linux . intel . com >
* Intel Corporation , 5200 N . E . Elam Young Parkway , Hillsboro , OR 97124 - 6497
*
* BSD LICENSE
*
2013-12-30 13:15:54 +02:00
* Copyright ( c ) 2005 - 2014 Intel Corporation . All rights reserved .
2011-08-25 23:10:36 -07:00
* All rights reserved .
*
* Redistribution and use in source and binary forms , with or without
* modification , are permitted provided that the following conditions
* are met :
*
* * Redistributions of source code must retain the above copyright
* notice , this list of conditions and the following disclaimer .
* * Redistributions in binary form must reproduce the above copyright
* notice , this list of conditions and the following disclaimer in
* the documentation and / or other materials provided with the
* distribution .
* * Neither the name Intel Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission .
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* " AS IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
* LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL ,
* SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT
* LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE ,
* DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
* ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2012-04-24 07:42:21 -07:00
# ifndef __iwl_modparams_h__
# define __iwl_modparams_h__
2011-08-25 23:10:36 -07:00
2011-08-25 23:11:13 -07:00
# include <linux/types.h>
# include <linux/spinlock.h>
# include <linux/gfp.h>
2011-08-25 23:11:22 -07:00
# include <net/mac80211.h>
2011-08-25 23:11:13 -07:00
2012-04-17 07:36:30 -07:00
extern struct iwl_mod_params iwlwifi_mod_params ;
enum iwl_power_level {
IWL_POWER_INDEX_1 ,
IWL_POWER_INDEX_2 ,
IWL_POWER_INDEX_3 ,
IWL_POWER_INDEX_4 ,
IWL_POWER_INDEX_5 ,
IWL_POWER_NUM
} ;
2011-08-25 23:10:36 -07:00
2014-02-12 15:15:05 +02:00
enum iwl_disable_11n {
IWL_DISABLE_HT_ALL = BIT ( 0 ) ,
IWL_DISABLE_HT_TXAGG = BIT ( 1 ) ,
IWL_DISABLE_HT_RXAGG = BIT ( 2 ) ,
IWL_ENABLE_HT_TXAGG = BIT ( 3 ) ,
} ;
2011-12-13 00:07:40 -08:00
2011-08-25 23:10:58 -07:00
/**
* struct iwl_mod_params
2011-09-15 11:46:34 -07:00
*
* Holds the module parameters
*
2011-08-25 23:10:58 -07:00
* @ sw_crypto : using hardware encryption , default = 0
2011-12-13 00:07:40 -08:00
* @ disable_11n : disable 11 n capabilities , default = 0 ,
2014-02-12 15:15:05 +02:00
* use IWL_ [ DIS , EN ] ABLE_HT_ * constants
2013-02-20 11:33:00 +02:00
* @ amsdu_size_8K : enable 8 K amsdu size , default = 0
2011-08-25 23:10:58 -07:00
* @ restart_fw : restart firmware , default = 1
2014-02-11 16:54:42 +02:00
* @ wd_disable : disable stuck queue check , default = 1
2011-08-25 23:10:58 -07:00
* @ bt_coex_active : enable bt coex , default = true
* @ led_mode : system default , default = 0
2014-07-21 11:44:12 +03:00
* @ power_save : enable power save , default = false
2011-08-25 23:10:58 -07:00
* @ power_level : power level , default = 1
* @ debug_level : levels are IWL_DL_ *
* @ ant_coupling : antenna coupling in dB , default = 0
2014-06-01 08:05:52 +03:00
* @ fw_monitor : allow to use firmware monitor
2011-08-25 23:10:58 -07:00
*/
2011-08-25 23:10:36 -07:00
struct iwl_mod_params {
2011-08-25 23:10:58 -07:00
int sw_crypto ;
2011-12-13 00:07:40 -08:00
unsigned int disable_11n ;
2011-08-25 23:10:58 -07:00
int amsdu_size_8K ;
2013-03-04 08:53:07 +02:00
bool restart_fw ;
2011-12-02 08:19:19 -08:00
int wd_disable ;
2011-08-25 23:10:58 -07:00
bool bt_coex_active ;
int led_mode ;
bool power_save ;
int power_level ;
2013-06-12 09:56:51 +02:00
# ifdef CONFIG_IWLWIFI_DEBUG
2011-08-25 23:10:58 -07:00
u32 debug_level ;
2013-06-12 09:56:51 +02:00
# endif
2011-08-25 23:10:36 -07:00
int ant_coupling ;
2013-05-09 08:07:59 +03:00
char * nvm_file ;
2014-04-24 18:43:18 +08:00
bool uapsd_disable ;
2014-06-01 08:05:52 +03:00
bool fw_monitor ;
2011-08-25 23:10:36 -07:00
} ;
2012-04-24 07:42:21 -07:00
# endif /* #__iwl_modparams_h__ */