aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-09-14 14:22:44 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-09-14 16:14:27 -0400
commit364734fafbba0c3133e482db78149b9a823ae7a5 (patch)
treef41e8faacdc270a7ad28ee51ae56edc6989c7675
parent3ae74c33c4f799f6bf6d67240a94a0814a8f1944 (diff)
ath9k_hw: remove useless hw capability flags
Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_init.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_txrx.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c21
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.h37
-rw-r--r--drivers/net/wireless/ath/ath9k/init.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c12
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c3
7 files changed, 19 insertions, 63 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index 695e2b088d10..717f2b821f0d 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -601,8 +601,7 @@ static void ath9k_init_misc(struct ath9k_htc_priv *priv)
601 common->tx_chainmask = priv->ah->caps.tx_chainmask; 601 common->tx_chainmask = priv->ah->caps.tx_chainmask;
602 common->rx_chainmask = priv->ah->caps.rx_chainmask; 602 common->rx_chainmask = priv->ah->caps.rx_chainmask;
603 603
604 if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK) 604 memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN);
605 memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN);
606 605
607 priv->ah->opmode = NL80211_IFTYPE_STATION; 606 priv->ah->opmode = NL80211_IFTYPE_STATION;
608} 607}
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 2a6e45a293a9..c99600aff76d 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -415,8 +415,7 @@ static void ath9k_htc_opmode_init(struct ath9k_htc_priv *priv)
415 ath9k_hw_setrxfilter(ah, rfilt); 415 ath9k_hw_setrxfilter(ah, rfilt);
416 416
417 /* configure bssid mask */ 417 /* configure bssid mask */
418 if (ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK) 418 ath_hw_setbssidmask(common);
419 ath_hw_setbssidmask(common);
420 419
421 /* configure operational mode */ 420 /* configure operational mode */
422 ath9k_hw_setopmode(ah); 421 ath9k_hw_setopmode(ah);
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 0a61f426d7d7..40c6451602d3 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1574,12 +1574,6 @@ bool ath9k_hw_set_keycache_entry(struct ath_hw *ah, u16 entry,
1574 keyType = AR_KEYTABLE_TYPE_AES; 1574 keyType = AR_KEYTABLE_TYPE_AES;
1575 break; 1575 break;
1576 case ATH9K_CIPHER_AES_CCM: 1576 case ATH9K_CIPHER_AES_CCM:
1577 if (!(pCap->hw_caps & ATH9K_HW_CAP_CIPHER_AESCCM)) {
1578 ath_print(common, ATH_DBG_ANY,
1579 "AES-CCM not supported by mac rev 0x%x\n",
1580 ah->hw_version.macRev);
1581 return false;
1582 }
1583 keyType = AR_KEYTABLE_TYPE_CCM; 1577 keyType = AR_KEYTABLE_TYPE_CCM;
1584 break; 1578 break;
1585 case ATH9K_CIPHER_TKIP: 1579 case ATH9K_CIPHER_TKIP:
@@ -2143,24 +2137,11 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
2143 pCap->low_5ghz_chan = 4920; 2137 pCap->low_5ghz_chan = 4920;
2144 pCap->high_5ghz_chan = 6100; 2138 pCap->high_5ghz_chan = 6100;
2145 2139
2146 pCap->hw_caps &= ~ATH9K_HW_CAP_CIPHER_CKIP;
2147 pCap->hw_caps |= ATH9K_HW_CAP_CIPHER_TKIP;
2148 pCap->hw_caps |= ATH9K_HW_CAP_CIPHER_AESCCM;
2149
2150 pCap->hw_caps &= ~ATH9K_HW_CAP_MIC_CKIP;
2151 pCap->hw_caps |= ATH9K_HW_CAP_MIC_TKIP;
2152 pCap->hw_caps |= ATH9K_HW_CAP_MIC_AESCCM;
2153
2154 if (ah->config.ht_enable) 2140 if (ah->config.ht_enable)
2155 pCap->hw_caps |= ATH9K_HW_CAP_HT; 2141 pCap->hw_caps |= ATH9K_HW_CAP_HT;
2156 else 2142 else
2157 pCap->hw_caps &= ~ATH9K_HW_CAP_HT; 2143 pCap->hw_caps &= ~ATH9K_HW_CAP_HT;
2158 2144
2159 pCap->hw_caps |= ATH9K_HW_CAP_GTT;
2160 pCap->hw_caps |= ATH9K_HW_CAP_VEOL;
2161 pCap->hw_caps |= ATH9K_HW_CAP_BSSIDMASK;
2162 pCap->hw_caps &= ~ATH9K_HW_CAP_MCAST_KEYSEARCH;
2163
2164 if (capField & AR_EEPROM_EEPCAP_MAXQCU) 2145 if (capField & AR_EEPROM_EEPCAP_MAXQCU)
2165 pCap->total_queues = 2146 pCap->total_queues =
2166 MS(capField, AR_EEPROM_EEPCAP_MAXQCU); 2147 MS(capField, AR_EEPROM_EEPCAP_MAXQCU);
@@ -2173,8 +2154,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
2173 else 2154 else
2174 pCap->keycache_size = AR_KEYTABLE_SIZE; 2155 pCap->keycache_size = AR_KEYTABLE_SIZE;
2175 2156
2176 pCap->hw_caps |= ATH9K_HW_CAP_FASTCC;
2177
2178 if (AR_SREV_9285(ah) || AR_SREV_9271(ah)) 2157 if (AR_SREV_9285(ah) || AR_SREV_9271(ah))
2179 pCap->tx_triglevel_max = MAX_TX_FIFO_THRESHOLD >> 1; 2158 pCap->tx_triglevel_max = MAX_TX_FIFO_THRESHOLD >> 1;
2180 else 2159 else
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 1724b17bfc73..a3c2ce235123 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -181,30 +181,19 @@ enum wireless_mode {
181}; 181};
182 182
183enum ath9k_hw_caps { 183enum ath9k_hw_caps {
184 ATH9K_HW_CAP_MIC_AESCCM = BIT(0), 184 ATH9K_HW_CAP_HT = BIT(0),
185 ATH9K_HW_CAP_MIC_CKIP = BIT(1), 185 ATH9K_HW_CAP_RFSILENT = BIT(1),
186 ATH9K_HW_CAP_MIC_TKIP = BIT(2), 186 ATH9K_HW_CAP_CST = BIT(2),
187 ATH9K_HW_CAP_CIPHER_AESCCM = BIT(3), 187 ATH9K_HW_CAP_ENHANCEDPM = BIT(3),
188 ATH9K_HW_CAP_CIPHER_CKIP = BIT(4), 188 ATH9K_HW_CAP_AUTOSLEEP = BIT(4),
189 ATH9K_HW_CAP_CIPHER_TKIP = BIT(5), 189 ATH9K_HW_CAP_4KB_SPLITTRANS = BIT(5),
190 ATH9K_HW_CAP_VEOL = BIT(6), 190 ATH9K_HW_CAP_EDMA = BIT(6),
191 ATH9K_HW_CAP_BSSIDMASK = BIT(7), 191 ATH9K_HW_CAP_RAC_SUPPORTED = BIT(7),
192 ATH9K_HW_CAP_MCAST_KEYSEARCH = BIT(8), 192 ATH9K_HW_CAP_LDPC = BIT(8),
193 ATH9K_HW_CAP_HT = BIT(9), 193 ATH9K_HW_CAP_FASTCLOCK = BIT(9),
194 ATH9K_HW_CAP_GTT = BIT(10), 194 ATH9K_HW_CAP_SGI_20 = BIT(10),
195 ATH9K_HW_CAP_FASTCC = BIT(11), 195 ATH9K_HW_CAP_PAPRD = BIT(11),
196 ATH9K_HW_CAP_RFSILENT = BIT(12), 196 ATH9K_HW_CAP_ANT_DIV_COMB = BIT(12),
197 ATH9K_HW_CAP_CST = BIT(13),
198 ATH9K_HW_CAP_ENHANCEDPM = BIT(14),
199 ATH9K_HW_CAP_AUTOSLEEP = BIT(15),
200 ATH9K_HW_CAP_4KB_SPLITTRANS = BIT(16),
201 ATH9K_HW_CAP_EDMA = BIT(17),
202 ATH9K_HW_CAP_RAC_SUPPORTED = BIT(18),
203 ATH9K_HW_CAP_LDPC = BIT(19),
204 ATH9K_HW_CAP_FASTCLOCK = BIT(20),
205 ATH9K_HW_CAP_SGI_20 = BIT(21),
206 ATH9K_HW_CAP_PAPRD = BIT(22),
207 ATH9K_HW_CAP_ANT_DIV_COMB = BIT(23),
208}; 197};
209 198
210struct ath9k_hw_capabilities { 199struct ath9k_hw_capabilities {
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index e7c07b3370cc..5c77a9913e03 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -522,8 +522,7 @@ static void ath9k_init_misc(struct ath_softc *sc)
522 ath9k_hw_set_diversity(sc->sc_ah, true); 522 ath9k_hw_set_diversity(sc->sc_ah, true);
523 sc->rx.defant = ath9k_hw_getdefantenna(sc->sc_ah); 523 sc->rx.defant = ath9k_hw_getdefantenna(sc->sc_ah);
524 524
525 if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK) 525 memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN);
526 memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN);
527 526
528 sc->beacon.slottime = ATH9K_SLOT_TIME_9; 527 sc->beacon.slottime = ATH9K_SLOT_TIME_9;
529 528
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index d3f96e4520f1..a2f7eb2a552b 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1156,8 +1156,7 @@ static int ath9k_start(struct ieee80211_hw *hw)
1156 else 1156 else
1157 ah->imask |= ATH9K_INT_RX; 1157 ah->imask |= ATH9K_INT_RX;
1158 1158
1159 if (ah->caps.hw_caps & ATH9K_HW_CAP_GTT) 1159 ah->imask |= ATH9K_INT_GTT;
1160 ah->imask |= ATH9K_INT_GTT;
1161 1160
1162 if (ah->caps.hw_caps & ATH9K_HW_CAP_HT) 1161 if (ah->caps.hw_caps & ATH9K_HW_CAP_HT)
1163 ah->imask |= ATH9K_INT_CST; 1162 ah->imask |= ATH9K_INT_CST;
@@ -1379,12 +1378,6 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
1379 1378
1380 mutex_lock(&sc->mutex); 1379 mutex_lock(&sc->mutex);
1381 1380
1382 if (!(ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK) &&
1383 sc->nvifs > 0) {
1384 ret = -ENOBUFS;
1385 goto out;
1386 }
1387
1388 switch (vif->type) { 1381 switch (vif->type) {
1389 case NL80211_IFTYPE_STATION: 1382 case NL80211_IFTYPE_STATION:
1390 ic_opmode = NL80211_IFTYPE_STATION; 1383 ic_opmode = NL80211_IFTYPE_STATION;
@@ -1414,8 +1407,7 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
1414 1407
1415 sc->nvifs++; 1408 sc->nvifs++;
1416 1409
1417 if (ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK) 1410 ath9k_set_bssid_mask(hw, vif);
1418 ath9k_set_bssid_mask(hw, vif);
1419 1411
1420 if (sc->nvifs > 1) 1412 if (sc->nvifs > 1)
1421 goto out; /* skip global settings for secondary vif */ 1413 goto out; /* skip global settings for secondary vif */
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index b32c8f033d20..6fb3b4536045 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -119,8 +119,7 @@ static void ath_opmode_init(struct ath_softc *sc)
119 ath9k_hw_setrxfilter(ah, rfilt); 119 ath9k_hw_setrxfilter(ah, rfilt);
120 120
121 /* configure bssid mask */ 121 /* configure bssid mask */
122 if (ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK) 122 ath_hw_setbssidmask(common);
123 ath_hw_setbssidmask(common);
124 123
125 /* configure operational mode */ 124 /* configure operational mode */
126 ath9k_hw_setopmode(ah); 125 ath9k_hw_setopmode(ah);