diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2011-08-30 07:58:27 -0400 |
---|---|---|
committer | Stanislaw Gruszka <sgruszka@redhat.com> | 2011-11-15 06:59:02 -0500 |
commit | af038f404ffb851dcefa0c56c5c81cacd06f0903 (patch) | |
tree | 5384b91ec6a3298ac90ff9943d029b4af400f639 | |
parent | 8f29b456f8b2c560819f698b82ef2efc09ac47c5 (diff) |
iwlegacy: move iwl-4965-{,hw,debugfs,calib}.h to 4965.h
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965-calib.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965-debug.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965-mac.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965-rs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965.c | 26 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965.h (renamed from drivers/net/wireless/iwlegacy/iwl-4965-hw.h) | 277 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-4965-calib.h | 75 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-4965-debugfs.h | 59 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-4965.h | 284 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-commands.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-dev.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-eeprom.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-prph.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-tx.c | 2 |
14 files changed, 277 insertions, 477 deletions
diff --git a/drivers/net/wireless/iwlegacy/4965-calib.c b/drivers/net/wireless/iwlegacy/4965-calib.c index 1d873a68830e..1d0502ecb41d 100644 --- a/drivers/net/wireless/iwlegacy/4965-calib.c +++ b/drivers/net/wireless/iwlegacy/4965-calib.c | |||
@@ -65,7 +65,7 @@ | |||
65 | 65 | ||
66 | #include "iwl-dev.h" | 66 | #include "iwl-dev.h" |
67 | #include "iwl-core.h" | 67 | #include "iwl-core.h" |
68 | #include "iwl-4965-calib.h" | 68 | #include "4965.h" |
69 | 69 | ||
70 | /***************************************************************************** | 70 | /***************************************************************************** |
71 | * INIT calibrations framework | 71 | * INIT calibrations framework |
diff --git a/drivers/net/wireless/iwlegacy/4965-debug.c b/drivers/net/wireless/iwlegacy/4965-debug.c index 89e5828ce383..825d0aa707e0 100644 --- a/drivers/net/wireless/iwlegacy/4965-debug.c +++ b/drivers/net/wireless/iwlegacy/4965-debug.c | |||
@@ -25,8 +25,9 @@ | |||
25 | * Intel Linux Wireless <ilw@linux.intel.com> | 25 | * Intel Linux Wireless <ilw@linux.intel.com> |
26 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | 26 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 |
27 | *****************************************************************************/ | 27 | *****************************************************************************/ |
28 | #include "iwl-4965.h" | 28 | #include "iwl-dev.h" |
29 | #include "iwl-4965-debugfs.h" | 29 | #include "iwl-core.h" |
30 | #include "4965.h" | ||
30 | 31 | ||
31 | static const char *fmt_value = " %-30s %10u\n"; | 32 | static const char *fmt_value = " %-30s %10u\n"; |
32 | static const char *fmt_table = " %-30s %10u %10u %10u %10u\n"; | 33 | static const char *fmt_table = " %-30s %10u %10u %10u %10u\n"; |
diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c index a8a6461d103f..ee084a885adc 100644 --- a/drivers/net/wireless/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/iwlegacy/4965-mac.c | |||
@@ -56,8 +56,7 @@ | |||
56 | #include "iwl-io.h" | 56 | #include "iwl-io.h" |
57 | #include "iwl-helpers.h" | 57 | #include "iwl-helpers.h" |
58 | #include "iwl-sta.h" | 58 | #include "iwl-sta.h" |
59 | #include "iwl-4965-calib.h" | 59 | #include "4965.h" |
60 | #include "iwl-4965.h" | ||
61 | 60 | ||
62 | 61 | ||
63 | /****************************************************************************** | 62 | /****************************************************************************** |
@@ -820,6 +819,11 @@ static int il4965_get_channels_for_scan(struct il_priv *il, | |||
820 | return added; | 819 | return added; |
821 | } | 820 | } |
822 | 821 | ||
822 | static inline u32 il4965_ant_idx_to_flags(u8 ant_idx) | ||
823 | { | ||
824 | return BIT(ant_idx) << RATE_MCS_ANT_POS; | ||
825 | } | ||
826 | |||
823 | int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif) | 827 | int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif) |
824 | { | 828 | { |
825 | struct il_host_cmd cmd = { | 829 | struct il_host_cmd cmd = { |
@@ -1434,7 +1438,7 @@ void il4965_reply_stats(struct il_priv *il, | |||
1434 | * mapping. This is implemented here. | 1438 | * mapping. This is implemented here. |
1435 | * | 1439 | * |
1436 | * Due to the way hw queues are set up (by the hw specific modules like | 1440 | * Due to the way hw queues are set up (by the hw specific modules like |
1437 | * iwl-4965.c), the AC->hw queue mapping is the identity | 1441 | * 4965.c), the AC->hw queue mapping is the identity |
1438 | * mapping. | 1442 | * mapping. |
1439 | */ | 1443 | */ |
1440 | 1444 | ||
diff --git a/drivers/net/wireless/iwlegacy/4965-rs.c b/drivers/net/wireless/iwlegacy/4965-rs.c index 4a543114372b..c4bf4aafad9d 100644 --- a/drivers/net/wireless/iwlegacy/4965-rs.c +++ b/drivers/net/wireless/iwlegacy/4965-rs.c | |||
@@ -38,7 +38,7 @@ | |||
38 | #include "iwl-dev.h" | 38 | #include "iwl-dev.h" |
39 | #include "iwl-sta.h" | 39 | #include "iwl-sta.h" |
40 | #include "iwl-core.h" | 40 | #include "iwl-core.h" |
41 | #include "iwl-4965.h" | 41 | #include "4965.h" |
42 | 42 | ||
43 | #define IL4965_RS_NAME "iwl-4965-rs" | 43 | #define IL4965_RS_NAME "iwl-4965-rs" |
44 | 44 | ||
diff --git a/drivers/net/wireless/iwlegacy/4965.c b/drivers/net/wireless/iwlegacy/4965.c index 752564d36c98..8199e635d537 100644 --- a/drivers/net/wireless/iwlegacy/4965.c +++ b/drivers/net/wireless/iwlegacy/4965.c | |||
@@ -42,10 +42,8 @@ | |||
42 | #include "iwl-core.h" | 42 | #include "iwl-core.h" |
43 | #include "iwl-io.h" | 43 | #include "iwl-io.h" |
44 | #include "iwl-helpers.h" | 44 | #include "iwl-helpers.h" |
45 | #include "iwl-4965-calib.h" | ||
46 | #include "iwl-sta.h" | 45 | #include "iwl-sta.h" |
47 | #include "iwl-4965.h" | 46 | #include "4965.h" |
48 | #include "iwl-4965-debugfs.h" | ||
49 | 47 | ||
50 | #define IL_AC_UNSET -1 | 48 | #define IL_AC_UNSET -1 |
51 | 49 | ||
@@ -1829,6 +1827,28 @@ static inline u32 il4965_get_scd_ssn(struct il4965_tx_resp *tx_resp) | |||
1829 | return le32_to_cpup(&tx_resp->u.status + tx_resp->frame_count) & MAX_SN; | 1827 | return le32_to_cpup(&tx_resp->u.status + tx_resp->frame_count) & MAX_SN; |
1830 | } | 1828 | } |
1831 | 1829 | ||
1830 | static inline u32 il4965_tx_status_to_mac80211(u32 status) | ||
1831 | { | ||
1832 | status &= TX_STATUS_MSK; | ||
1833 | |||
1834 | switch (status) { | ||
1835 | case TX_STATUS_SUCCESS: | ||
1836 | case TX_STATUS_DIRECT_DONE: | ||
1837 | return IEEE80211_TX_STAT_ACK; | ||
1838 | case TX_STATUS_FAIL_DEST_PS: | ||
1839 | return IEEE80211_TX_STAT_TX_FILTERED; | ||
1840 | default: | ||
1841 | return 0; | ||
1842 | } | ||
1843 | } | ||
1844 | |||
1845 | static inline bool il4965_is_tx_success(u32 status) | ||
1846 | { | ||
1847 | status &= TX_STATUS_MSK; | ||
1848 | return (status == TX_STATUS_SUCCESS || | ||
1849 | status == TX_STATUS_DIRECT_DONE); | ||
1850 | } | ||
1851 | |||
1832 | /** | 1852 | /** |
1833 | * il4965_tx_status_reply_tx - Handle Tx response for frames in aggregation queue | 1853 | * il4965_tx_status_reply_tx - Handle Tx response for frames in aggregation queue |
1834 | */ | 1854 | */ |
diff --git a/drivers/net/wireless/iwlegacy/iwl-4965-hw.h b/drivers/net/wireless/iwlegacy/4965.h index 5c8b8baa3b15..b1a01c9bbbc8 100644 --- a/drivers/net/wireless/iwlegacy/iwl-4965-hw.h +++ b/drivers/net/wireless/iwlegacy/4965.h | |||
@@ -1,11 +1,8 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * | 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 | 3 | * GPL LICENSE SUMMARY |
7 | * | 4 | * |
8 | * Copyright(c) 2005 - 2011 Intel Corporation. All rights reserved. | 5 | * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. |
9 | * | 6 | * |
10 | * This program is free software; you can redistribute it and/or modify | 7 | * 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 | 8 | * it under the terms of version 2 of the GNU General Public License as |
@@ -28,48 +25,209 @@ | |||
28 | * Intel Linux Wireless <ilw@linux.intel.com> | 25 | * Intel Linux Wireless <ilw@linux.intel.com> |
29 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | 26 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 |
30 | * | 27 | * |
31 | * BSD LICENSE | ||
32 | * | ||
33 | * Copyright(c) 2005 - 2011 Intel Corporation. All rights reserved. | ||
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 | *****************************************************************************/ | 28 | *****************************************************************************/ |
29 | |||
30 | #ifndef __il_4965_h__ | ||
31 | #define __il_4965_h__ | ||
32 | |||
33 | #include "iwl-fh.h" | ||
34 | #include "iwl-debug.h" | ||
35 | |||
36 | struct il_rx_queue; | ||
37 | struct il_rx_buf; | ||
38 | struct il_rx_pkt; | ||
39 | struct il_tx_queue; | ||
40 | struct il_rxon_context; | ||
41 | |||
42 | /* configuration for the _4965 devices */ | ||
43 | extern struct il_cfg il4965_cfg; | ||
44 | |||
45 | extern struct il_mod_params il4965_mod_params; | ||
46 | |||
47 | extern struct ieee80211_ops il4965_hw_ops; | ||
48 | |||
49 | /* tx queue */ | ||
50 | void il4965_free_tfds_in_queue(struct il_priv *il, | ||
51 | int sta_id, int tid, int freed); | ||
52 | |||
53 | /* RXON */ | ||
54 | void il4965_set_rxon_chain(struct il_priv *il, | ||
55 | struct il_rxon_context *ctx); | ||
56 | |||
57 | /* uCode */ | ||
58 | int il4965_verify_ucode(struct il_priv *il); | ||
59 | |||
60 | /* lib */ | ||
61 | void il4965_check_abort_status(struct il_priv *il, | ||
62 | u8 frame_count, u32 status); | ||
63 | |||
64 | void il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq); | ||
65 | int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq); | ||
66 | int il4965_hw_nic_init(struct il_priv *il); | ||
67 | int il4965_dump_fh(struct il_priv *il, char **buf, bool display); | ||
68 | |||
69 | /* rx */ | ||
70 | void il4965_rx_queue_restock(struct il_priv *il); | ||
71 | void il4965_rx_replenish(struct il_priv *il); | ||
72 | void il4965_rx_replenish_now(struct il_priv *il); | ||
73 | void il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq); | ||
74 | int il4965_rxq_stop(struct il_priv *il); | ||
75 | int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band); | ||
76 | void il4965_rx_reply_rx(struct il_priv *il, | ||
77 | struct il_rx_buf *rxb); | ||
78 | void il4965_rx_reply_rx_phy(struct il_priv *il, | ||
79 | struct il_rx_buf *rxb); | ||
80 | void il4965_rx_handle(struct il_priv *il); | ||
81 | |||
82 | /* tx */ | ||
83 | void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq); | ||
84 | int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il, | ||
85 | struct il_tx_queue *txq, | ||
86 | dma_addr_t addr, u16 len, u8 reset, u8 pad); | ||
87 | int il4965_hw_tx_queue_init(struct il_priv *il, | ||
88 | struct il_tx_queue *txq); | ||
89 | void il4965_hwrate_to_tx_control(struct il_priv *il, u32 rate_n_flags, | ||
90 | struct ieee80211_tx_info *info); | ||
91 | int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb); | ||
92 | int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif, | ||
93 | struct ieee80211_sta *sta, u16 tid, u16 *ssn); | ||
94 | int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif, | ||
95 | struct ieee80211_sta *sta, u16 tid); | ||
96 | int il4965_txq_check_empty(struct il_priv *il, | ||
97 | int sta_id, u8 tid, int txq_id); | ||
98 | void il4965_rx_reply_compressed_ba(struct il_priv *il, | ||
99 | struct il_rx_buf *rxb); | ||
100 | int il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx); | ||
101 | void il4965_hw_txq_ctx_free(struct il_priv *il); | ||
102 | int il4965_txq_ctx_alloc(struct il_priv *il); | ||
103 | void il4965_txq_ctx_reset(struct il_priv *il); | ||
104 | void il4965_txq_ctx_stop(struct il_priv *il); | ||
105 | void il4965_txq_set_sched(struct il_priv *il, u32 mask); | ||
106 | |||
63 | /* | 107 | /* |
64 | * Please use this file (iwl-4965-hw.h) only for hardware-related definitions. | 108 | * Acquire il->lock before calling this function ! |
65 | * Use iwl-commands.h for uCode API definitions. | ||
66 | * Use iwl-dev.h for driver implementation definitions. | ||
67 | */ | 109 | */ |
110 | void il4965_set_wr_ptrs(struct il_priv *il, int txq_id, u32 idx); | ||
111 | /** | ||
112 | * il4965_tx_queue_set_status - (optionally) start Tx/Cmd queue | ||
113 | * @tx_fifo_id: Tx DMA/FIFO channel (range 0-7) that the queue will feed | ||
114 | * @scd_retry: (1) Indicates queue will be used in aggregation mode | ||
115 | * | ||
116 | * NOTE: Acquire il->lock before calling this function ! | ||
117 | */ | ||
118 | void il4965_tx_queue_set_status(struct il_priv *il, | ||
119 | struct il_tx_queue *txq, | ||
120 | int tx_fifo_id, int scd_retry); | ||
121 | |||
122 | u8 il4965_toggle_tx_ant(struct il_priv *il, u8 ant_idx, u8 valid); | ||
123 | |||
124 | /* rx */ | ||
125 | void il4965_rx_missed_beacon_notif(struct il_priv *il, | ||
126 | struct il_rx_buf *rxb); | ||
127 | bool il4965_good_plcp_health(struct il_priv *il, | ||
128 | struct il_rx_pkt *pkt); | ||
129 | void il4965_rx_stats(struct il_priv *il, | ||
130 | struct il_rx_buf *rxb); | ||
131 | void il4965_reply_stats(struct il_priv *il, | ||
132 | struct il_rx_buf *rxb); | ||
133 | |||
134 | /* scan */ | ||
135 | int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif); | ||
136 | |||
137 | /* station mgmt */ | ||
138 | int il4965_manage_ibss_station(struct il_priv *il, | ||
139 | struct ieee80211_vif *vif, bool add); | ||
140 | |||
141 | /* hcmd */ | ||
142 | int il4965_send_beacon_cmd(struct il_priv *il); | ||
143 | |||
144 | #ifdef CONFIG_IWLEGACY_DEBUG | ||
145 | const char *il4965_get_tx_fail_reason(u32 status); | ||
146 | #else | ||
147 | static inline const char * | ||
148 | il4965_get_tx_fail_reason(u32 status) { return ""; } | ||
149 | #endif | ||
150 | |||
151 | /* station management */ | ||
152 | int il4965_alloc_bcast_station(struct il_priv *il, | ||
153 | struct il_rxon_context *ctx); | ||
154 | int il4965_add_bssid_station(struct il_priv *il, | ||
155 | struct il_rxon_context *ctx, | ||
156 | const u8 *addr, u8 *sta_id_r); | ||
157 | int il4965_remove_default_wep_key(struct il_priv *il, | ||
158 | struct il_rxon_context *ctx, | ||
159 | struct ieee80211_key_conf *key); | ||
160 | int il4965_set_default_wep_key(struct il_priv *il, | ||
161 | struct il_rxon_context *ctx, | ||
162 | struct ieee80211_key_conf *key); | ||
163 | int il4965_restore_default_wep_keys(struct il_priv *il, | ||
164 | struct il_rxon_context *ctx); | ||
165 | int il4965_set_dynamic_key(struct il_priv *il, | ||
166 | struct il_rxon_context *ctx, | ||
167 | struct ieee80211_key_conf *key, u8 sta_id); | ||
168 | int il4965_remove_dynamic_key(struct il_priv *il, | ||
169 | struct il_rxon_context *ctx, | ||
170 | struct ieee80211_key_conf *key, u8 sta_id); | ||
171 | void il4965_update_tkip_key(struct il_priv *il, | ||
172 | struct il_rxon_context *ctx, | ||
173 | struct ieee80211_key_conf *keyconf, | ||
174 | struct ieee80211_sta *sta, u32 iv32, u16 *phase1key); | ||
175 | int il4965_sta_tx_modify_enable_tid(struct il_priv *il, | ||
176 | int sta_id, int tid); | ||
177 | int il4965_sta_rx_agg_start(struct il_priv *il, struct ieee80211_sta *sta, | ||
178 | int tid, u16 ssn); | ||
179 | int il4965_sta_rx_agg_stop(struct il_priv *il, struct ieee80211_sta *sta, | ||
180 | int tid); | ||
181 | void il4965_sta_modify_sleep_tx_count(struct il_priv *il, | ||
182 | int sta_id, int cnt); | ||
183 | int il4965_update_bcast_stations(struct il_priv *il); | ||
184 | |||
185 | /* rate */ | ||
186 | static inline u8 il4965_hw_get_rate(__le32 rate_n_flags) | ||
187 | { | ||
188 | return le32_to_cpu(rate_n_flags) & 0xFF; | ||
189 | } | ||
68 | 190 | ||
69 | #ifndef __il_4965_hw_h__ | 191 | static inline __le32 il4965_hw_set_rate_n_flags(u8 rate, u32 flags) |
70 | #define __il_4965_hw_h__ | 192 | { |
193 | return cpu_to_le32(flags|(u32)rate); | ||
194 | } | ||
195 | |||
196 | /* eeprom */ | ||
197 | void il4965_eeprom_get_mac(const struct il_priv *il, u8 *mac); | ||
198 | int il4965_eeprom_acquire_semaphore(struct il_priv *il); | ||
199 | void il4965_eeprom_release_semaphore(struct il_priv *il); | ||
200 | int il4965_eeprom_check_version(struct il_priv *il); | ||
201 | |||
202 | /* mac80211 handlers (for 4965) */ | ||
203 | void il4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb); | ||
204 | int il4965_mac_start(struct ieee80211_hw *hw); | ||
205 | void il4965_mac_stop(struct ieee80211_hw *hw); | ||
206 | void il4965_configure_filter(struct ieee80211_hw *hw, | ||
207 | unsigned int changed_flags, | ||
208 | unsigned int *total_flags, | ||
209 | u64 multicast); | ||
210 | int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | ||
211 | struct ieee80211_vif *vif, struct ieee80211_sta *sta, | ||
212 | struct ieee80211_key_conf *key); | ||
213 | void il4965_mac_update_tkip_key(struct ieee80211_hw *hw, | ||
214 | struct ieee80211_vif *vif, | ||
215 | struct ieee80211_key_conf *keyconf, | ||
216 | struct ieee80211_sta *sta, | ||
217 | u32 iv32, u16 *phase1key); | ||
218 | int il4965_mac_ampdu_action(struct ieee80211_hw *hw, | ||
219 | struct ieee80211_vif *vif, | ||
220 | enum ieee80211_ampdu_mlme_action action, | ||
221 | struct ieee80211_sta *sta, u16 tid, u16 *ssn, | ||
222 | u8 buf_size); | ||
223 | int il4965_mac_sta_add(struct ieee80211_hw *hw, | ||
224 | struct ieee80211_vif *vif, | ||
225 | struct ieee80211_sta *sta); | ||
226 | void il4965_mac_channel_switch(struct ieee80211_hw *hw, | ||
227 | struct ieee80211_channel_switch *ch_switch); | ||
228 | |||
229 | void il4965_led_enable(struct il_priv *il); | ||
71 | 230 | ||
72 | #include "iwl-fh.h" | ||
73 | 231 | ||
74 | /* EEPROM */ | 232 | /* EEPROM */ |
75 | #define IL4965_EEPROM_IMG_SIZE 1024 | 233 | #define IL4965_EEPROM_IMG_SIZE 1024 |
@@ -807,5 +965,40 @@ struct il4965_scd_bc_tbl { | |||
807 | /* EEPROM */ | 965 | /* EEPROM */ |
808 | #define IL4965_FIRST_AMPDU_QUEUE 10 | 966 | #define IL4965_FIRST_AMPDU_QUEUE 10 |
809 | 967 | ||
968 | /* Calibration */ | ||
969 | void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp); | ||
970 | void il4965_sensitivity_calibration(struct il_priv *il, void *resp); | ||
971 | void il4965_init_sensitivity(struct il_priv *il); | ||
972 | void il4965_reset_run_time_calib(struct il_priv *il); | ||
973 | void il4965_calib_free_results(struct il_priv *il); | ||
974 | |||
975 | /* Debug */ | ||
976 | #ifdef CONFIG_IWLEGACY_DEBUGFS | ||
977 | ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf, | ||
978 | size_t count, loff_t *ppos); | ||
979 | ssize_t il4965_ucode_tx_stats_read(struct file *file, char __user *user_buf, | ||
980 | size_t count, loff_t *ppos); | ||
981 | ssize_t il4965_ucode_general_stats_read(struct file *file, | ||
982 | char __user *user_buf, size_t count, loff_t *ppos); | ||
983 | #else | ||
984 | static ssize_t | ||
985 | il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf, | ||
986 | size_t count, loff_t *ppos) | ||
987 | { | ||
988 | return 0; | ||
989 | } | ||
990 | static ssize_t | ||
991 | il4965_ucode_tx_stats_read(struct file *file, char __user *user_buf, | ||
992 | size_t count, loff_t *ppos) | ||
993 | { | ||
994 | return 0; | ||
995 | } | ||
996 | static ssize_t | ||
997 | il4965_ucode_general_stats_read(struct file *file, char __user *user_buf, | ||
998 | size_t count, loff_t *ppos) | ||
999 | { | ||
1000 | return 0; | ||
1001 | } | ||
1002 | #endif | ||
810 | 1003 | ||
811 | #endif /* !__il_4965_hw_h__ */ | 1004 | #endif /* __il_4965_h__ */ |
diff --git a/drivers/net/wireless/iwlegacy/iwl-4965-calib.h b/drivers/net/wireless/iwlegacy/iwl-4965-calib.h deleted file mode 100644 index 0e30ea7ff12e..000000000000 --- a/drivers/net/wireless/iwlegacy/iwl-4965-calib.h +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
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 | * | ||
8 | * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. | ||
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 | ||
25 | * in the file called LICENSE.GPL. | ||
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 | * | ||
33 | * Copyright(c) 2005 - 2011 Intel Corporation. All rights reserved. | ||
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 | #ifndef __il_4965_calib_h__ | ||
63 | #define __il_4965_calib_h__ | ||
64 | |||
65 | #include "iwl-dev.h" | ||
66 | #include "iwl-core.h" | ||
67 | #include "iwl-commands.h" | ||
68 | |||
69 | void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp); | ||
70 | void il4965_sensitivity_calibration(struct il_priv *il, void *resp); | ||
71 | void il4965_init_sensitivity(struct il_priv *il); | ||
72 | void il4965_reset_run_time_calib(struct il_priv *il); | ||
73 | void il4965_calib_free_results(struct il_priv *il); | ||
74 | |||
75 | #endif /* __il_4965_calib_h__ */ | ||
diff --git a/drivers/net/wireless/iwlegacy/iwl-4965-debugfs.h b/drivers/net/wireless/iwlegacy/iwl-4965-debugfs.h deleted file mode 100644 index 284604c49440..000000000000 --- a/drivers/net/wireless/iwlegacy/iwl-4965-debugfs.h +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * GPL LICENSE SUMMARY | ||
4 | * | ||
5 | * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of version 2 of the GNU General Public License as | ||
9 | * published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but | ||
12 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, | ||
19 | * USA | ||
20 | * | ||
21 | * The full GNU General Public License is included in this distribution | ||
22 | * in the file called LICENSE.GPL. | ||
23 | * | ||
24 | * Contact Information: | ||
25 | * Intel Linux Wireless <ilw@linux.intel.com> | ||
26 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | ||
27 | *****************************************************************************/ | ||
28 | |||
29 | #include "iwl-dev.h" | ||
30 | #include "iwl-core.h" | ||
31 | #include "iwl-debug.h" | ||
32 | |||
33 | #ifdef CONFIG_IWLEGACY_DEBUGFS | ||
34 | ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf, | ||
35 | size_t count, loff_t *ppos); | ||
36 | ssize_t il4965_ucode_tx_stats_read(struct file *file, char __user *user_buf, | ||
37 | size_t count, loff_t *ppos); | ||
38 | ssize_t il4965_ucode_general_stats_read(struct file *file, | ||
39 | char __user *user_buf, size_t count, loff_t *ppos); | ||
40 | #else | ||
41 | static ssize_t | ||
42 | il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf, | ||
43 | size_t count, loff_t *ppos) | ||
44 | { | ||
45 | return 0; | ||
46 | } | ||
47 | static ssize_t | ||
48 | il4965_ucode_tx_stats_read(struct file *file, char __user *user_buf, | ||
49 | size_t count, loff_t *ppos) | ||
50 | { | ||
51 | return 0; | ||
52 | } | ||
53 | static ssize_t | ||
54 | il4965_ucode_general_stats_read(struct file *file, char __user *user_buf, | ||
55 | size_t count, loff_t *ppos) | ||
56 | { | ||
57 | return 0; | ||
58 | } | ||
59 | #endif | ||
diff --git a/drivers/net/wireless/iwlegacy/iwl-4965.h b/drivers/net/wireless/iwlegacy/iwl-4965.h deleted file mode 100644 index c0bb45b012d2..000000000000 --- a/drivers/net/wireless/iwlegacy/iwl-4965.h +++ /dev/null | |||
@@ -1,284 +0,0 @@ | |||
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 | * | ||
8 | * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. | ||
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 | ||
25 | * in the file called LICENSE.GPL. | ||
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 | * | ||
33 | * Copyright(c) 2005 - 2011 Intel Corporation. All rights reserved. | ||
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 | |||
63 | #ifndef __il_4965_h__ | ||
64 | #define __il_4965_h__ | ||
65 | |||
66 | #include "iwl-dev.h" | ||
67 | |||
68 | /* configuration for the _4965 devices */ | ||
69 | extern struct il_cfg il4965_cfg; | ||
70 | |||
71 | extern struct il_mod_params il4965_mod_params; | ||
72 | |||
73 | extern struct ieee80211_ops il4965_hw_ops; | ||
74 | |||
75 | /* tx queue */ | ||
76 | void il4965_free_tfds_in_queue(struct il_priv *il, | ||
77 | int sta_id, int tid, int freed); | ||
78 | |||
79 | /* RXON */ | ||
80 | void il4965_set_rxon_chain(struct il_priv *il, | ||
81 | struct il_rxon_context *ctx); | ||
82 | |||
83 | /* uCode */ | ||
84 | int il4965_verify_ucode(struct il_priv *il); | ||
85 | |||
86 | /* lib */ | ||
87 | void il4965_check_abort_status(struct il_priv *il, | ||
88 | u8 frame_count, u32 status); | ||
89 | |||
90 | void il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq); | ||
91 | int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq); | ||
92 | int il4965_hw_nic_init(struct il_priv *il); | ||
93 | int il4965_dump_fh(struct il_priv *il, char **buf, bool display); | ||
94 | |||
95 | /* rx */ | ||
96 | void il4965_rx_queue_restock(struct il_priv *il); | ||
97 | void il4965_rx_replenish(struct il_priv *il); | ||
98 | void il4965_rx_replenish_now(struct il_priv *il); | ||
99 | void il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq); | ||
100 | int il4965_rxq_stop(struct il_priv *il); | ||
101 | int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band); | ||
102 | void il4965_rx_reply_rx(struct il_priv *il, | ||
103 | struct il_rx_buf *rxb); | ||
104 | void il4965_rx_reply_rx_phy(struct il_priv *il, | ||
105 | struct il_rx_buf *rxb); | ||
106 | void il4965_rx_handle(struct il_priv *il); | ||
107 | |||
108 | /* tx */ | ||
109 | void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq); | ||
110 | int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il, | ||
111 | struct il_tx_queue *txq, | ||
112 | dma_addr_t addr, u16 len, u8 reset, u8 pad); | ||
113 | int il4965_hw_tx_queue_init(struct il_priv *il, | ||
114 | struct il_tx_queue *txq); | ||
115 | void il4965_hwrate_to_tx_control(struct il_priv *il, u32 rate_n_flags, | ||
116 | struct ieee80211_tx_info *info); | ||
117 | int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb); | ||
118 | int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif, | ||
119 | struct ieee80211_sta *sta, u16 tid, u16 *ssn); | ||
120 | int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif, | ||
121 | struct ieee80211_sta *sta, u16 tid); | ||
122 | int il4965_txq_check_empty(struct il_priv *il, | ||
123 | int sta_id, u8 tid, int txq_id); | ||
124 | void il4965_rx_reply_compressed_ba(struct il_priv *il, | ||
125 | struct il_rx_buf *rxb); | ||
126 | int il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx); | ||
127 | void il4965_hw_txq_ctx_free(struct il_priv *il); | ||
128 | int il4965_txq_ctx_alloc(struct il_priv *il); | ||
129 | void il4965_txq_ctx_reset(struct il_priv *il); | ||
130 | void il4965_txq_ctx_stop(struct il_priv *il); | ||
131 | void il4965_txq_set_sched(struct il_priv *il, u32 mask); | ||
132 | |||
133 | /* | ||
134 | * Acquire il->lock before calling this function ! | ||
135 | */ | ||
136 | void il4965_set_wr_ptrs(struct il_priv *il, int txq_id, u32 idx); | ||
137 | /** | ||
138 | * il4965_tx_queue_set_status - (optionally) start Tx/Cmd queue | ||
139 | * @tx_fifo_id: Tx DMA/FIFO channel (range 0-7) that the queue will feed | ||
140 | * @scd_retry: (1) Indicates queue will be used in aggregation mode | ||
141 | * | ||
142 | * NOTE: Acquire il->lock before calling this function ! | ||
143 | */ | ||
144 | void il4965_tx_queue_set_status(struct il_priv *il, | ||
145 | struct il_tx_queue *txq, | ||
146 | int tx_fifo_id, int scd_retry); | ||
147 | |||
148 | static inline u32 il4965_tx_status_to_mac80211(u32 status) | ||
149 | { | ||
150 | status &= TX_STATUS_MSK; | ||
151 | |||
152 | switch (status) { | ||
153 | case TX_STATUS_SUCCESS: | ||
154 | case TX_STATUS_DIRECT_DONE: | ||
155 | return IEEE80211_TX_STAT_ACK; | ||
156 | case TX_STATUS_FAIL_DEST_PS: | ||
157 | return IEEE80211_TX_STAT_TX_FILTERED; | ||
158 | default: | ||
159 | return 0; | ||
160 | } | ||
161 | } | ||
162 | |||
163 | static inline bool il4965_is_tx_success(u32 status) | ||
164 | { | ||
165 | status &= TX_STATUS_MSK; | ||
166 | return (status == TX_STATUS_SUCCESS || | ||
167 | status == TX_STATUS_DIRECT_DONE); | ||
168 | } | ||
169 | |||
170 | u8 il4965_toggle_tx_ant(struct il_priv *il, u8 ant_idx, u8 valid); | ||
171 | |||
172 | /* rx */ | ||
173 | void il4965_rx_missed_beacon_notif(struct il_priv *il, | ||
174 | struct il_rx_buf *rxb); | ||
175 | bool il4965_good_plcp_health(struct il_priv *il, | ||
176 | struct il_rx_pkt *pkt); | ||
177 | void il4965_rx_stats(struct il_priv *il, | ||
178 | struct il_rx_buf *rxb); | ||
179 | void il4965_reply_stats(struct il_priv *il, | ||
180 | struct il_rx_buf *rxb); | ||
181 | |||
182 | /* scan */ | ||
183 | int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif); | ||
184 | |||
185 | /* station mgmt */ | ||
186 | int il4965_manage_ibss_station(struct il_priv *il, | ||
187 | struct ieee80211_vif *vif, bool add); | ||
188 | |||
189 | /* hcmd */ | ||
190 | int il4965_send_beacon_cmd(struct il_priv *il); | ||
191 | |||
192 | #ifdef CONFIG_IWLEGACY_DEBUG | ||
193 | const char *il4965_get_tx_fail_reason(u32 status); | ||
194 | #else | ||
195 | static inline const char * | ||
196 | il4965_get_tx_fail_reason(u32 status) { return ""; } | ||
197 | #endif | ||
198 | |||
199 | /* station management */ | ||
200 | int il4965_alloc_bcast_station(struct il_priv *il, | ||
201 | struct il_rxon_context *ctx); | ||
202 | int il4965_add_bssid_station(struct il_priv *il, | ||
203 | struct il_rxon_context *ctx, | ||
204 | const u8 *addr, u8 *sta_id_r); | ||
205 | int il4965_remove_default_wep_key(struct il_priv *il, | ||
206 | struct il_rxon_context *ctx, | ||
207 | struct ieee80211_key_conf *key); | ||
208 | int il4965_set_default_wep_key(struct il_priv *il, | ||
209 | struct il_rxon_context *ctx, | ||
210 | struct ieee80211_key_conf *key); | ||
211 | int il4965_restore_default_wep_keys(struct il_priv *il, | ||
212 | struct il_rxon_context *ctx); | ||
213 | int il4965_set_dynamic_key(struct il_priv *il, | ||
214 | struct il_rxon_context *ctx, | ||
215 | struct ieee80211_key_conf *key, u8 sta_id); | ||
216 | int il4965_remove_dynamic_key(struct il_priv *il, | ||
217 | struct il_rxon_context *ctx, | ||
218 | struct ieee80211_key_conf *key, u8 sta_id); | ||
219 | void il4965_update_tkip_key(struct il_priv *il, | ||
220 | struct il_rxon_context *ctx, | ||
221 | struct ieee80211_key_conf *keyconf, | ||
222 | struct ieee80211_sta *sta, u32 iv32, u16 *phase1key); | ||
223 | int il4965_sta_tx_modify_enable_tid(struct il_priv *il, | ||
224 | int sta_id, int tid); | ||
225 | int il4965_sta_rx_agg_start(struct il_priv *il, struct ieee80211_sta *sta, | ||
226 | int tid, u16 ssn); | ||
227 | int il4965_sta_rx_agg_stop(struct il_priv *il, struct ieee80211_sta *sta, | ||
228 | int tid); | ||
229 | void il4965_sta_modify_sleep_tx_count(struct il_priv *il, | ||
230 | int sta_id, int cnt); | ||
231 | int il4965_update_bcast_stations(struct il_priv *il); | ||
232 | |||
233 | /* rate */ | ||
234 | static inline u32 il4965_ant_idx_to_flags(u8 ant_idx) | ||
235 | { | ||
236 | return BIT(ant_idx) << RATE_MCS_ANT_POS; | ||
237 | } | ||
238 | |||
239 | static inline u8 il4965_hw_get_rate(__le32 rate_n_flags) | ||
240 | { | ||
241 | return le32_to_cpu(rate_n_flags) & 0xFF; | ||
242 | } | ||
243 | |||
244 | static inline __le32 il4965_hw_set_rate_n_flags(u8 rate, u32 flags) | ||
245 | { | ||
246 | return cpu_to_le32(flags|(u32)rate); | ||
247 | } | ||
248 | |||
249 | /* eeprom */ | ||
250 | void il4965_eeprom_get_mac(const struct il_priv *il, u8 *mac); | ||
251 | int il4965_eeprom_acquire_semaphore(struct il_priv *il); | ||
252 | void il4965_eeprom_release_semaphore(struct il_priv *il); | ||
253 | int il4965_eeprom_check_version(struct il_priv *il); | ||
254 | |||
255 | /* mac80211 handlers (for 4965) */ | ||
256 | void il4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb); | ||
257 | int il4965_mac_start(struct ieee80211_hw *hw); | ||
258 | void il4965_mac_stop(struct ieee80211_hw *hw); | ||
259 | void il4965_configure_filter(struct ieee80211_hw *hw, | ||
260 | unsigned int changed_flags, | ||
261 | unsigned int *total_flags, | ||
262 | u64 multicast); | ||
263 | int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | ||
264 | struct ieee80211_vif *vif, struct ieee80211_sta *sta, | ||
265 | struct ieee80211_key_conf *key); | ||
266 | void il4965_mac_update_tkip_key(struct ieee80211_hw *hw, | ||
267 | struct ieee80211_vif *vif, | ||
268 | struct ieee80211_key_conf *keyconf, | ||
269 | struct ieee80211_sta *sta, | ||
270 | u32 iv32, u16 *phase1key); | ||
271 | int il4965_mac_ampdu_action(struct ieee80211_hw *hw, | ||
272 | struct ieee80211_vif *vif, | ||
273 | enum ieee80211_ampdu_mlme_action action, | ||
274 | struct ieee80211_sta *sta, u16 tid, u16 *ssn, | ||
275 | u8 buf_size); | ||
276 | int il4965_mac_sta_add(struct ieee80211_hw *hw, | ||
277 | struct ieee80211_vif *vif, | ||
278 | struct ieee80211_sta *sta); | ||
279 | void il4965_mac_channel_switch(struct ieee80211_hw *hw, | ||
280 | struct ieee80211_channel_switch *ch_switch); | ||
281 | |||
282 | void il4965_led_enable(struct il_priv *il); | ||
283 | |||
284 | #endif /* __il_4965_h__ */ | ||
diff --git a/drivers/net/wireless/iwlegacy/iwl-commands.h b/drivers/net/wireless/iwlegacy/iwl-commands.h index e6688b166ada..55822da4b162 100644 --- a/drivers/net/wireless/iwlegacy/iwl-commands.h +++ b/drivers/net/wireless/iwlegacy/iwl-commands.h | |||
@@ -347,7 +347,7 @@ struct il3945_power_per_rate { | |||
347 | * For MIMO rates, one value may be different from the other, | 347 | * For MIMO rates, one value may be different from the other, |
348 | * in order to balance the Tx output between the two transmitters. | 348 | * in order to balance the Tx output between the two transmitters. |
349 | * | 349 | * |
350 | * See more details in doc for TXPOWER in iwl-4965-hw.h. | 350 | * See more details in doc for TXPOWER in 4965.h. |
351 | */ | 351 | */ |
352 | union il4965_tx_power_dual_stream { | 352 | union il4965_tx_power_dual_stream { |
353 | struct { | 353 | struct { |
@@ -1756,7 +1756,7 @@ struct il_compressed_ba_resp { | |||
1756 | /* | 1756 | /* |
1757 | * REPLY_TX_PWR_TBL_CMD = 0x97 (command, has simple generic response) | 1757 | * REPLY_TX_PWR_TBL_CMD = 0x97 (command, has simple generic response) |
1758 | * | 1758 | * |
1759 | * See details under "TXPOWER" in iwl-4965-hw.h. | 1759 | * See details under "TXPOWER" in 4965.h. |
1760 | */ | 1760 | */ |
1761 | 1761 | ||
1762 | struct il3945_txpowertable_cmd { | 1762 | struct il3945_txpowertable_cmd { |
diff --git a/drivers/net/wireless/iwlegacy/iwl-dev.h b/drivers/net/wireless/iwlegacy/iwl-dev.h index 7c86d198e89d..97b25730c329 100644 --- a/drivers/net/wireless/iwlegacy/iwl-dev.h +++ b/drivers/net/wireless/iwlegacy/iwl-dev.h | |||
@@ -26,7 +26,7 @@ | |||
26 | /* | 26 | /* |
27 | * Please use this file (iwl-dev.h) for driver implementation definitions. | 27 | * Please use this file (iwl-dev.h) for driver implementation definitions. |
28 | * Please use iwl-commands.h for uCode API definitions. | 28 | * Please use iwl-commands.h for uCode API definitions. |
29 | * Please use iwl-4965-hw.h for hardware-related definitions. | 29 | * Please use 4965.h for hardware-related definitions. |
30 | */ | 30 | */ |
31 | 31 | ||
32 | #ifndef __il_dev_h__ | 32 | #ifndef __il_dev_h__ |
@@ -44,7 +44,7 @@ | |||
44 | #include "iwl-prph.h" | 44 | #include "iwl-prph.h" |
45 | #include "iwl-fh.h" | 45 | #include "iwl-fh.h" |
46 | #include "iwl-debug.h" | 46 | #include "iwl-debug.h" |
47 | #include "iwl-4965-hw.h" | 47 | #include "4965.h" |
48 | #include "iwl-3945-hw.h" | 48 | #include "iwl-3945-hw.h" |
49 | #include "iwl-led.h" | 49 | #include "iwl-led.h" |
50 | #include "iwl-power.h" | 50 | #include "iwl-power.h" |
diff --git a/drivers/net/wireless/iwlegacy/iwl-eeprom.h b/drivers/net/wireless/iwlegacy/iwl-eeprom.h index eb868c0e6559..61435a522c84 100644 --- a/drivers/net/wireless/iwlegacy/iwl-eeprom.h +++ b/drivers/net/wireless/iwlegacy/iwl-eeprom.h | |||
@@ -154,7 +154,7 @@ extern const u8 il_eeprom_band_1[14]; | |||
154 | * 1) Temperature (degrees Celsius) of device when measurement was made. | 154 | * 1) Temperature (degrees Celsius) of device when measurement was made. |
155 | * | 155 | * |
156 | * 2) Gain table idx used to achieve the target measurement power. | 156 | * 2) Gain table idx used to achieve the target measurement power. |
157 | * This refers to the "well-known" gain tables (see iwl-4965-hw.h). | 157 | * This refers to the "well-known" gain tables (see 4965.h). |
158 | * | 158 | * |
159 | * 3) Actual measured output power, in half-dBm ("34" = 17 dBm). | 159 | * 3) Actual measured output power, in half-dBm ("34" = 17 dBm). |
160 | * | 160 | * |
diff --git a/drivers/net/wireless/iwlegacy/iwl-prph.h b/drivers/net/wireless/iwlegacy/iwl-prph.h index e34d9073a99e..b0bf6848bd1d 100644 --- a/drivers/net/wireless/iwlegacy/iwl-prph.h +++ b/drivers/net/wireless/iwlegacy/iwl-prph.h | |||
@@ -255,7 +255,7 @@ | |||
255 | * but one DMA channel may take input from several queues. | 255 | * but one DMA channel may take input from several queues. |
256 | * | 256 | * |
257 | * Tx DMA FIFOs have dedicated purposes. For 4965, they are used as follows | 257 | * Tx DMA FIFOs have dedicated purposes. For 4965, they are used as follows |
258 | * (cf. default_queue_to_tx_fifo in iwl-4965.c): | 258 | * (cf. default_queue_to_tx_fifo in 4965.c): |
259 | * | 259 | * |
260 | * 0 -- EDCA BK (background) frames, lowest priority | 260 | * 0 -- EDCA BK (background) frames, lowest priority |
261 | * 1 -- EDCA BE (best effort) frames, normal priority | 261 | * 1 -- EDCA BE (best effort) frames, normal priority |
diff --git a/drivers/net/wireless/iwlegacy/iwl-tx.c b/drivers/net/wireless/iwlegacy/iwl-tx.c index 10a0914709b3..e46e58829216 100644 --- a/drivers/net/wireless/iwlegacy/iwl-tx.c +++ b/drivers/net/wireless/iwlegacy/iwl-tx.c | |||
@@ -232,7 +232,7 @@ EXPORT_SYMBOL(il_cmd_queue_free); | |||
232 | * reclaiming packets (on 'tx done IRQ), if free space become > high mark, | 232 | * reclaiming packets (on 'tx done IRQ), if free space become > high mark, |
233 | * Tx queue resumed. | 233 | * Tx queue resumed. |
234 | * | 234 | * |
235 | * See more detailed info in iwl-4965-hw.h. | 235 | * See more detailed info in 4965.h. |
236 | ***************************************************/ | 236 | ***************************************************/ |
237 | 237 | ||
238 | int il_queue_space(const struct il_queue *q) | 238 | int il_queue_space(const struct il_queue *q) |