diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2010-05-17 02:31:19 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-02 16:13:16 -0400 |
commit | b4dec5e8f5c02f75d8c08dd377193f73b553bfe2 (patch) | |
tree | 1e3a16548d419acd84fde9ae5edac85a620d276b /drivers/net/wireless/ath | |
parent | 2c76ef89b05654457555a1458ccf2aa8eec5fc50 (diff) |
ath9k_htc: Enable SGI in HT20 for AR9271
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_init.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_main.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c index 7ec2c2ec9d52..8b202e05034e 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c | |||
@@ -404,6 +404,9 @@ static void setup_ht_cap(struct ath9k_htc_priv *priv, | |||
404 | IEEE80211_HT_CAP_SGI_40 | | 404 | IEEE80211_HT_CAP_SGI_40 | |
405 | IEEE80211_HT_CAP_DSSSCCK40; | 405 | IEEE80211_HT_CAP_DSSSCCK40; |
406 | 406 | ||
407 | if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_SGI_20) | ||
408 | ht_info->cap |= IEEE80211_HT_CAP_SGI_20; | ||
409 | |||
407 | ht_info->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K; | 410 | ht_info->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K; |
408 | ht_info->ampdu_density = IEEE80211_HT_MPDU_DENSITY_8; | 411 | ht_info->ampdu_density = IEEE80211_HT_MPDU_DENSITY_8; |
409 | 412 | ||
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c index 80feeb3a6bf0..6d464237d13a 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c | |||
@@ -367,9 +367,12 @@ static void ath9k_htc_setup_rate(struct ath9k_htc_priv *priv, | |||
367 | caps = WLAN_RC_HT_FLAG; | 367 | caps = WLAN_RC_HT_FLAG; |
368 | if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) | 368 | if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) |
369 | caps |= WLAN_RC_40_FLAG; | 369 | caps |= WLAN_RC_40_FLAG; |
370 | if (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40) | 370 | if (conf_is_ht40(&priv->hw->conf) && |
371 | (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40)) | ||
372 | caps |= WLAN_RC_SGI_FLAG; | ||
373 | else if (conf_is_ht20(&priv->hw->conf) && | ||
374 | (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20)) | ||
371 | caps |= WLAN_RC_SGI_FLAG; | 375 | caps |= WLAN_RC_SGI_FLAG; |
372 | |||
373 | } | 376 | } |
374 | 377 | ||
375 | trate->sta_index = ista->index; | 378 | trate->sta_index = ista->index; |
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 2fd62546187a..841c8b05a07c 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -2234,7 +2234,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) | |||
2234 | if (AR_SREV_9300_20_OR_LATER(ah)) | 2234 | if (AR_SREV_9300_20_OR_LATER(ah)) |
2235 | pCap->hw_caps |= ATH9K_HW_CAP_RAC_SUPPORTED; | 2235 | pCap->hw_caps |= ATH9K_HW_CAP_RAC_SUPPORTED; |
2236 | 2236 | ||
2237 | if (AR_SREV_9287_10_OR_LATER(ah)) | 2237 | if (AR_SREV_9287_10_OR_LATER(ah) || AR_SREV_9271(ah)) |
2238 | pCap->hw_caps |= ATH9K_HW_CAP_SGI_20; | 2238 | pCap->hw_caps |= ATH9K_HW_CAP_SGI_20; |
2239 | 2239 | ||
2240 | return 0; | 2240 | return 0; |