summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/542-ath9k_no_mode_idx.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-19 22:11:21 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-19 22:11:21 +0000
commit19d148c4a5fccd59bcd6c9369c606e1d4fdfcf44 (patch)
tree2a85d658733c0b6c9e55ba60e2d585d7e0868d8b /package/mac80211/patches/542-ath9k_no_mode_idx.patch
parent30fbb0379ae505a1ab008eeb700c586cadfb081f (diff)
mac80211: update to wireless-testing 2010-10-19
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23540 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/542-ath9k_no_mode_idx.patch')
-rw-r--r--package/mac80211/patches/542-ath9k_no_mode_idx.patch247
1 files changed, 0 insertions, 247 deletions
diff --git a/package/mac80211/patches/542-ath9k_no_mode_idx.patch b/package/mac80211/patches/542-ath9k_no_mode_idx.patch
deleted file mode 100644
index ae6854637d..0000000000
--- a/package/mac80211/patches/542-ath9k_no_mode_idx.patch
+++ /dev/null
@@ -1,247 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/rc.c
-+++ b/drivers/net/wireless/ath/ath9k/rc.c
-@@ -378,17 +378,6 @@ static const struct ath_rate_table ar541
- 0, /* Phy rates allowed initially */
- };
-
--static const struct ath_rate_table *hw_rate_table[ATH9K_MODE_MAX] = {
-- [ATH9K_MODE_11A] = &ar5416_11a_ratetable,
-- [ATH9K_MODE_11G] = &ar5416_11g_ratetable,
-- [ATH9K_MODE_11NA_HT20] = &ar5416_11na_ratetable,
-- [ATH9K_MODE_11NG_HT20] = &ar5416_11ng_ratetable,
-- [ATH9K_MODE_11NA_HT40PLUS] = &ar5416_11na_ratetable,
-- [ATH9K_MODE_11NA_HT40MINUS] = &ar5416_11na_ratetable,
-- [ATH9K_MODE_11NG_HT40PLUS] = &ar5416_11ng_ratetable,
-- [ATH9K_MODE_11NG_HT40MINUS] = &ar5416_11ng_ratetable,
--};
--
- static int ath_rc_get_rateindex(const struct ath_rate_table *rate_table,
- struct ieee80211_tx_rate *rate);
-
-@@ -1200,38 +1189,23 @@ static void ath_rc_tx_status(struct ath_
- static const
- struct ath_rate_table *ath_choose_rate_table(struct ath_softc *sc,
- enum ieee80211_band band,
-- bool is_ht,
-- bool is_cw_40)
-+ bool is_ht)
- {
-- int mode = 0;
- struct ath_common *common = ath9k_hw_common(sc->sc_ah);
-
- switch(band) {
- case IEEE80211_BAND_2GHZ:
-- mode = ATH9K_MODE_11G;
- if (is_ht)
-- mode = ATH9K_MODE_11NG_HT20;
-- if (is_cw_40)
-- mode = ATH9K_MODE_11NG_HT40PLUS;
-- break;
-+ return &ar5416_11ng_ratetable;
-+ return &ar5416_11g_ratetable;
- case IEEE80211_BAND_5GHZ:
-- mode = ATH9K_MODE_11A;
- if (is_ht)
-- mode = ATH9K_MODE_11NA_HT20;
-- if (is_cw_40)
-- mode = ATH9K_MODE_11NA_HT40PLUS;
-- break;
-+ return &ar5416_11na_ratetable;
-+ return &ar5416_11a_ratetable;
- default:
- ath_print(common, ATH_DBG_CONFIG, "Invalid band\n");
- return NULL;
- }
--
-- BUG_ON(mode >= ATH9K_MODE_MAX);
--
-- ath_print(common, ATH_DBG_CONFIG,
-- "Choosing rate table for mode: %d\n", mode);
--
-- return hw_rate_table[mode];
- }
-
- static void ath_rc_init(struct ath_softc *sc,
-@@ -1480,7 +1454,7 @@ static void ath_rate_init(void *priv, st
- /* Choose rate table first */
-
- rate_table = ath_choose_rate_table(sc, sband->band,
-- sta->ht_cap.ht_supported, is_cw40);
-+ sta->ht_cap.ht_supported);
-
- ath_rc_priv->ht_cap = ath_rc_build_ht_caps(sc, sta, is_cw40, is_sgi);
- ath_rc_init(sc, priv_sta, sband, sta, rate_table);
-@@ -1520,8 +1494,7 @@ static void ath_rate_update(void *priv,
-
- if ((local_cw40 != oper_cw40) || (local_sgi != oper_sgi)) {
- rate_table = ath_choose_rate_table(sc, sband->band,
-- sta->ht_cap.ht_supported,
-- oper_cw40);
-+ sta->ht_cap.ht_supported);
- ath_rc_priv->ht_cap = ath_rc_build_ht_caps(sc, sta,
- oper_cw40, oper_sgi);
- ath_rc_init(sc, priv_sta, sband, sta, rate_table);
---- a/drivers/net/wireless/ath/ath9k/hw.c
-+++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1812,37 +1812,11 @@ int ath9k_hw_fill_cap_info(struct ath_hw
- return -EINVAL;
- }
-
-- bitmap_zero(pCap->wireless_modes, ATH9K_MODE_MAX);
-+ if (eeval & AR5416_OPFLAGS_11A)
-+ pCap->hw_caps |= ATH9K_HW_CAP_5GHZ;
-
-- if (eeval & AR5416_OPFLAGS_11A) {
-- set_bit(ATH9K_MODE_11A, pCap->wireless_modes);
-- if (ah->config.ht_enable) {
-- if (!(eeval & AR5416_OPFLAGS_N_5G_HT20))
-- set_bit(ATH9K_MODE_11NA_HT20,
-- pCap->wireless_modes);
-- if (!(eeval & AR5416_OPFLAGS_N_5G_HT40)) {
-- set_bit(ATH9K_MODE_11NA_HT40PLUS,
-- pCap->wireless_modes);
-- set_bit(ATH9K_MODE_11NA_HT40MINUS,
-- pCap->wireless_modes);
-- }
-- }
-- }
--
-- if (eeval & AR5416_OPFLAGS_11G) {
-- set_bit(ATH9K_MODE_11G, pCap->wireless_modes);
-- if (ah->config.ht_enable) {
-- if (!(eeval & AR5416_OPFLAGS_N_2G_HT20))
-- set_bit(ATH9K_MODE_11NG_HT20,
-- pCap->wireless_modes);
-- if (!(eeval & AR5416_OPFLAGS_N_2G_HT40)) {
-- set_bit(ATH9K_MODE_11NG_HT40PLUS,
-- pCap->wireless_modes);
-- set_bit(ATH9K_MODE_11NG_HT40MINUS,
-- pCap->wireless_modes);
-- }
-- }
-- }
-+ if (eeval & AR5416_OPFLAGS_11G)
-+ pCap->hw_caps |= ATH9K_HW_CAP_2GHZ;
-
- pCap->tx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_TX_MASK);
- /*
---- a/drivers/net/wireless/ath/ath9k/hw.h
-+++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -164,18 +164,6 @@ enum ath_ini_subsys {
- ATH_INI_NUM_SPLIT,
- };
-
--enum wireless_mode {
-- ATH9K_MODE_11A = 0,
-- ATH9K_MODE_11G,
-- ATH9K_MODE_11NA_HT20,
-- ATH9K_MODE_11NG_HT20,
-- ATH9K_MODE_11NA_HT40PLUS,
-- ATH9K_MODE_11NA_HT40MINUS,
-- ATH9K_MODE_11NG_HT40PLUS,
-- ATH9K_MODE_11NG_HT40MINUS,
-- ATH9K_MODE_MAX,
--};
--
- enum ath9k_hw_caps {
- ATH9K_HW_CAP_HT = BIT(0),
- ATH9K_HW_CAP_RFSILENT = BIT(1),
-@@ -190,11 +178,12 @@ enum ath9k_hw_caps {
- ATH9K_HW_CAP_SGI_20 = BIT(10),
- ATH9K_HW_CAP_PAPRD = BIT(11),
- ATH9K_HW_CAP_ANT_DIV_COMB = BIT(12),
-+ ATH9K_HW_CAP_2GHZ = BIT(13),
-+ ATH9K_HW_CAP_5GHZ = BIT(14),
- };
-
- struct ath9k_hw_capabilities {
- u32 hw_caps; /* ATH9K_HW_CAP_* from ath9k_hw_caps */
-- DECLARE_BITMAP(wireless_modes, ATH9K_MODE_MAX); /* ATH9K_MODE_* */
- u16 total_queues;
- u16 keycache_size;
- u16 low_5ghz_chan, high_5ghz_chan;
---- a/drivers/net/wireless/ath/ath9k/init.c
-+++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -486,7 +486,7 @@ static int ath9k_init_channels_rates(str
- ARRAY_SIZE(ath9k_5ghz_chantable) !=
- ATH9K_NUM_CHANNELS);
-
-- if (test_bit(ATH9K_MODE_11G, sc->sc_ah->caps.wireless_modes)) {
-+ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ) {
- channels = kmemdup(ath9k_2ghz_chantable,
- sizeof(ath9k_2ghz_chantable), GFP_KERNEL);
- if (!channels)
-@@ -501,7 +501,7 @@ static int ath9k_init_channels_rates(str
- ARRAY_SIZE(ath9k_legacy_rates);
- }
-
-- if (test_bit(ATH9K_MODE_11A, sc->sc_ah->caps.wireless_modes)) {
-+ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ) {
- channels = kmemdup(ath9k_5ghz_chantable,
- sizeof(ath9k_5ghz_chantable), GFP_KERNEL);
- if (!channels) {
-@@ -690,17 +690,17 @@ void ath9k_set_hw_capab(struct ath_softc
- hw->rate_control_algorithm = "ath9k_rate_control";
- #endif
-
-- if (test_bit(ATH9K_MODE_11G, sc->sc_ah->caps.wireless_modes))
-+ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
- hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
- &sc->sbands[IEEE80211_BAND_2GHZ];
-- if (test_bit(ATH9K_MODE_11A, sc->sc_ah->caps.wireless_modes))
-+ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
- hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
- &sc->sbands[IEEE80211_BAND_5GHZ];
-
- if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) {
-- if (test_bit(ATH9K_MODE_11G, sc->sc_ah->caps.wireless_modes))
-+ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
- setup_ht_cap(sc, &sc->sbands[IEEE80211_BAND_2GHZ].ht_cap);
-- if (test_bit(ATH9K_MODE_11A, sc->sc_ah->caps.wireless_modes))
-+ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
- setup_ht_cap(sc, &sc->sbands[IEEE80211_BAND_5GHZ].ht_cap);
- }
-
---- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
-+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
-@@ -566,7 +566,7 @@ static void ath9k_init_crypto(struct ath
-
- static void ath9k_init_channels_rates(struct ath9k_htc_priv *priv)
- {
-- if (test_bit(ATH9K_MODE_11G, priv->ah->caps.wireless_modes)) {
-+ if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ) {
- priv->sbands[IEEE80211_BAND_2GHZ].channels =
- ath9k_2ghz_channels;
- priv->sbands[IEEE80211_BAND_2GHZ].band = IEEE80211_BAND_2GHZ;
-@@ -577,7 +577,7 @@ static void ath9k_init_channels_rates(st
- ARRAY_SIZE(ath9k_legacy_rates);
- }
-
-- if (test_bit(ATH9K_MODE_11A, priv->ah->caps.wireless_modes)) {
-+ if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ) {
- priv->sbands[IEEE80211_BAND_5GHZ].channels = ath9k_5ghz_channels;
- priv->sbands[IEEE80211_BAND_5GHZ].band = IEEE80211_BAND_5GHZ;
- priv->sbands[IEEE80211_BAND_5GHZ].n_channels =
-@@ -740,18 +740,18 @@ static void ath9k_set_hw_capab(struct at
- hw->extra_tx_headroom = sizeof(struct tx_frame_hdr) +
- sizeof(struct htc_frame_hdr) + 4;
-
-- if (test_bit(ATH9K_MODE_11G, priv->ah->caps.wireless_modes))
-+ if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
- hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
- &priv->sbands[IEEE80211_BAND_2GHZ];
-- if (test_bit(ATH9K_MODE_11A, priv->ah->caps.wireless_modes))
-+ if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
- hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
- &priv->sbands[IEEE80211_BAND_5GHZ];
-
- if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_HT) {
-- if (test_bit(ATH9K_MODE_11G, priv->ah->caps.wireless_modes))
-+ if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
- setup_ht_cap(priv,
- &priv->sbands[IEEE80211_BAND_2GHZ].ht_cap);
-- if (test_bit(ATH9K_MODE_11A, priv->ah->caps.wireless_modes))
-+ if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
- setup_ht_cap(priv,
- &priv->sbands[IEEE80211_BAND_5GHZ].ht_cap);
- }