Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 1 | /****************************************************************************** |
| 2 | * |
| 3 | * This file is provided under a dual BSD/GPLv2 license. When using or |
| 4 | * redistributing this file, you may do so under either license. |
| 5 | * |
| 6 | * GPL LICENSE SUMMARY |
| 7 | * |
Emmanuel Grumbach | 51368bf | 2013-12-30 13:15:54 +0200 | [diff] [blame] | 8 | * Copyright(c) 2007 - 2014 Intel Corporation. All rights reserved. |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 9 | * |
| 10 | * This program is free software; you can redistribute it and/or modify |
| 11 | * it under the terms of version 2 of the GNU General Public License as |
| 12 | * published by the Free Software Foundation. |
| 13 | * |
| 14 | * This program is distributed in the hope that it will be useful, but |
| 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 17 | * General Public License for more details. |
| 18 | * |
| 19 | * You should have received a copy of the GNU General Public License |
| 20 | * along with this program; if not, write to the Free Software |
| 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, |
| 22 | * USA |
| 23 | * |
| 24 | * The full GNU General Public License is included in this distribution |
Emmanuel Grumbach | 410dc5a | 2013-02-18 09:22:28 +0200 | [diff] [blame] | 25 | * in the file called COPYING. |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 26 | * |
| 27 | * Contact Information: |
| 28 | * Intel Linux Wireless <ilw@linux.intel.com> |
| 29 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 |
| 30 | * |
| 31 | * BSD LICENSE |
| 32 | * |
Emmanuel Grumbach | 51368bf | 2013-12-30 13:15:54 +0200 | [diff] [blame] | 33 | * Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved. |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 34 | * All rights reserved. |
| 35 | * |
| 36 | * Redistribution and use in source and binary forms, with or without |
| 37 | * modification, are permitted provided that the following conditions |
| 38 | * are met: |
| 39 | * |
| 40 | * * Redistributions of source code must retain the above copyright |
| 41 | * notice, this list of conditions and the following disclaimer. |
| 42 | * * Redistributions in binary form must reproduce the above copyright |
| 43 | * notice, this list of conditions and the following disclaimer in |
| 44 | * the documentation and/or other materials provided with the |
| 45 | * distribution. |
| 46 | * * Neither the name Intel Corporation nor the names of its |
| 47 | * contributors may be used to endorse or promote products derived |
| 48 | * from this software without specific prior written permission. |
| 49 | * |
| 50 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| 51 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| 52 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| 53 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| 54 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 55 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 56 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 57 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 58 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 59 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 60 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 61 | * |
| 62 | *****************************************************************************/ |
Wey-Yi Guy | 4fb2f7f | 2012-04-24 07:42:21 -0700 | [diff] [blame] | 63 | #ifndef __iwl_modparams_h__ |
| 64 | #define __iwl_modparams_h__ |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 65 | |
Emmanuel Grumbach | a72b8b0 | 2011-08-25 23:11:13 -0700 | [diff] [blame] | 66 | #include <linux/types.h> |
| 67 | #include <linux/spinlock.h> |
Emmanuel Grumbach | a72b8b0 | 2011-08-25 23:11:13 -0700 | [diff] [blame] | 68 | #include <linux/gfp.h> |
Emmanuel Grumbach | ba562f7 | 2011-08-25 23:11:22 -0700 | [diff] [blame] | 69 | #include <net/mac80211.h> |
Emmanuel Grumbach | a72b8b0 | 2011-08-25 23:11:13 -0700 | [diff] [blame] | 70 | |
Johannes Berg | 65de7e8 | 2012-04-17 07:36:30 -0700 | [diff] [blame] | 71 | extern struct iwl_mod_params iwlwifi_mod_params; |
| 72 | |
| 73 | enum iwl_power_level { |
| 74 | IWL_POWER_INDEX_1, |
| 75 | IWL_POWER_INDEX_2, |
| 76 | IWL_POWER_INDEX_3, |
| 77 | IWL_POWER_INDEX_4, |
| 78 | IWL_POWER_INDEX_5, |
| 79 | IWL_POWER_NUM |
| 80 | }; |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 81 | |
Emmanuel Grumbach | 205e221 | 2014-02-12 15:15:05 +0200 | [diff] [blame] | 82 | enum iwl_disable_11n { |
| 83 | IWL_DISABLE_HT_ALL = BIT(0), |
| 84 | IWL_DISABLE_HT_TXAGG = BIT(1), |
| 85 | IWL_DISABLE_HT_RXAGG = BIT(2), |
| 86 | IWL_ENABLE_HT_TXAGG = BIT(3), |
| 87 | }; |
Johannes Berg | 7428994 | 2011-12-13 00:07:40 -0800 | [diff] [blame] | 88 | |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 89 | /** |
| 90 | * struct iwl_mod_params |
Emmanuel Grumbach | 21023e2 | 2011-09-15 11:46:34 -0700 | [diff] [blame] | 91 | * |
| 92 | * Holds the module parameters |
| 93 | * |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 94 | * @sw_crypto: using hardware encryption, default = 0 |
Johannes Berg | 7428994 | 2011-12-13 00:07:40 -0800 | [diff] [blame] | 95 | * @disable_11n: disable 11n capabilities, default = 0, |
Emmanuel Grumbach | 205e221 | 2014-02-12 15:15:05 +0200 | [diff] [blame] | 96 | * use IWL_[DIS,EN]ABLE_HT_* constants |
Emmanuel Grumbach | aed7d9a | 2013-02-20 11:33:00 +0200 | [diff] [blame] | 97 | * @amsdu_size_8K: enable 8K amsdu size, default = 0 |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 98 | * @restart_fw: restart firmware, default = 1 |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 99 | * @bt_coex_active: enable bt coex, default = true |
| 100 | * @led_mode: system default, default = 0 |
Emmanuel Grumbach | 074279a | 2014-07-21 11:44:12 +0300 | [diff] [blame] | 101 | * @power_save: enable power save, default = false |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 102 | * @power_level: power level, default = 1 |
| 103 | * @debug_level: levels are IWL_DL_* |
| 104 | * @ant_coupling: antenna coupling in dB, default = 0 |
Eliad Peller | 7616f33 | 2014-11-20 17:33:43 +0200 | [diff] [blame] | 105 | * @d0i3_disable: disable d0i3, default = 1, |
Arik Nemtsov | 5711cac | 2014-12-28 09:23:16 +0200 | [diff] [blame] | 106 | * @lar_disable: disable LAR (regulatory), default = 0 |
Emmanuel Grumbach | c2d2020 | 2014-06-01 08:05:52 +0300 | [diff] [blame] | 107 | * @fw_monitor: allow to use firmware monitor |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 108 | */ |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 109 | struct iwl_mod_params { |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 110 | int sw_crypto; |
Johannes Berg | 7428994 | 2011-12-13 00:07:40 -0800 | [diff] [blame] | 111 | unsigned int disable_11n; |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 112 | int amsdu_size_8K; |
Emmanuel Grumbach | 490953a | 2013-03-04 08:53:07 +0200 | [diff] [blame] | 113 | bool restart_fw; |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 114 | bool bt_coex_active; |
| 115 | int led_mode; |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 116 | bool power_save; |
| 117 | int power_level; |
Johannes Berg | 51cd53a | 2013-06-12 09:56:51 +0200 | [diff] [blame] | 118 | #ifdef CONFIG_IWLWIFI_DEBUG |
Wey-Yi Guy | e4ef84d | 2011-08-25 23:10:58 -0700 | [diff] [blame] | 119 | u32 debug_level; |
Johannes Berg | 51cd53a | 2013-06-12 09:56:51 +0200 | [diff] [blame] | 120 | #endif |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 121 | int ant_coupling; |
Eran Harary | 1214755 | 2013-05-09 08:07:59 +0300 | [diff] [blame] | 122 | char *nvm_file; |
Matt Chen | 1504f48 | 2014-04-24 18:43:18 +0800 | [diff] [blame] | 123 | bool uapsd_disable; |
Eliad Peller | 7616f33 | 2014-11-20 17:33:43 +0200 | [diff] [blame] | 124 | bool d0i3_disable; |
Arik Nemtsov | 5711cac | 2014-12-28 09:23:16 +0200 | [diff] [blame] | 125 | bool lar_disable; |
Emmanuel Grumbach | c2d2020 | 2014-06-01 08:05:52 +0300 | [diff] [blame] | 126 | bool fw_monitor; |
Emmanuel Grumbach | 48f20d3 | 2011-08-25 23:10:36 -0700 | [diff] [blame] | 127 | }; |
| 128 | |
Wey-Yi Guy | 4fb2f7f | 2012-04-24 07:42:21 -0700 | [diff] [blame] | 129 | #endif /* #__iwl_modparams_h__ */ |