diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-5000.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c new file mode 100644 index 000000000000..2314e31fc78a --- /dev/null +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -0,0 +1,93 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * Copyright(c) 2007-2008 Intel Corporation. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of version 2 of the GNU General Public License as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
12 | * more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along with | ||
15 | * this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | ||
17 | * | ||
18 | * The full GNU General Public License is included in this distribution in the | ||
19 | * file called LICENSE. | ||
20 | * | ||
21 | * Contact Information: | ||
22 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | ||
23 | * | ||
24 | *****************************************************************************/ | ||
25 | |||
26 | #include <linux/kernel.h> | ||
27 | #include <linux/module.h> | ||
28 | #include <linux/version.h> | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/pci.h> | ||
31 | #include <linux/dma-mapping.h> | ||
32 | #include <linux/delay.h> | ||
33 | #include <linux/skbuff.h> | ||
34 | #include <linux/netdevice.h> | ||
35 | #include <linux/wireless.h> | ||
36 | #include <net/mac80211.h> | ||
37 | #include <linux/etherdevice.h> | ||
38 | #include <asm/unaligned.h> | ||
39 | |||
40 | #include "iwl-eeprom.h" | ||
41 | #include "iwl-4965.h" | ||
42 | #include "iwl-core.h" | ||
43 | #include "iwl-io.h" | ||
44 | #include "iwl-helpers.h" | ||
45 | #include "iwl-5000-hw.h" | ||
46 | |||
47 | #define IWL5000_UCODE_API "-1" | ||
48 | |||
49 | static struct iwl_mod_params iwl50_mod_params = { | ||
50 | .num_of_queues = IWL50_NUM_QUEUES, | ||
51 | .enable_qos = 1, | ||
52 | .amsdu_size_8K = 1, | ||
53 | /* the rest are 0 by default */ | ||
54 | }; | ||
55 | |||
56 | |||
57 | struct iwl_cfg iwl5300_agn_cfg = { | ||
58 | .name = "5300AGN", | ||
59 | .fw_name = "iwlwifi-5000" IWL5000_UCODE_API ".ucode", | ||
60 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, | ||
61 | .mod_params = &iwl50_mod_params, | ||
62 | }; | ||
63 | |||
64 | struct iwl_cfg iwl5100_agn_cfg = { | ||
65 | .name = "5100AGN", | ||
66 | .fw_name = "iwlwifi-5000" IWL5000_UCODE_API ".ucode", | ||
67 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, | ||
68 | .mod_params = &iwl50_mod_params, | ||
69 | }; | ||
70 | |||
71 | struct iwl_cfg iwl5350_agn_cfg = { | ||
72 | .name = "5350AGN", | ||
73 | .fw_name = "iwlwifi-5000" IWL5000_UCODE_API ".ucode", | ||
74 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, | ||
75 | .mod_params = &iwl50_mod_params, | ||
76 | }; | ||
77 | |||
78 | module_param_named(disable50, iwl50_mod_params.disable, int, 0444); | ||
79 | MODULE_PARM_DESC(disable50, | ||
80 | "manually disable the 50XX radio (default 0 [radio on])"); | ||
81 | module_param_named(swcrypto50, iwl50_mod_params.sw_crypto, bool, 0444); | ||
82 | MODULE_PARM_DESC(swcrypto50, | ||
83 | "using software crypto engine (default 0 [hardware])\n"); | ||
84 | module_param_named(debug50, iwl50_mod_params.debug, int, 0444); | ||
85 | MODULE_PARM_DESC(debug50, "50XX debug output mask"); | ||
86 | module_param_named(queues_num50, iwl50_mod_params.num_of_queues, int, 0444); | ||
87 | MODULE_PARM_DESC(queues_num50, "number of hw queues in 50xx series"); | ||
88 | module_param_named(qos_enable50, iwl50_mod_params.enable_qos, int, 0444); | ||
89 | MODULE_PARM_DESC(qos_enable50, "enable all 50XX QoS functionality"); | ||
90 | module_param_named(amsdu_size_8K50, iwl50_mod_params.amsdu_size_8K, int, 0444); | ||
91 | MODULE_PARM_DESC(amsdu_size_8K50, "enable 8K amsdu size in 50XX series"); | ||
92 | |||
93 | |||