ath9k: add STBC Rx flags (repost untill some one asnwers)
cover ath9k: add STBC Rx flags (repost untill some one asnwers)
One more repost of old patches. I need, please, at least some kind of answer:
"we don't wont patches from you" or "you are doing some thing wrong".
PATCH 1/2 ath9k: remove useless flag conversation.
some flags used only outside of ath9k - In this case we can use "enum mac80211_rx_flags" and pass it upstream without extra conversation.
--- drivers/net/wireless/ath/ath9k/ar9003_mac.c | 5 +++-- drivers/net/wireless/ath/ath9k/mac.c | 11 +++++++---- drivers/net/wireless/ath/ath9k/mac.h | 1 + drivers/net/wireless/ath/ath9k/recv.c | 5 +---- 4 files changed, 12 insertions(+), 10 deletions(-)
drivers/net/wireless/ath/ath9k/ar9003_mac.c +3 -2
@@ -469,6 +469,7 @@ int ath9k_hw_process_rxdesc_edma(struct ath_hw *ah, struct ath_rx_status *rxs, rxs->rs_status =0 ; rxs->rs_flags =0 ; + rxs->flag =0 ; rxs->rs_datalen = rxsp->status2 & AR_DataLen; rxs->rs_tstamp = rxsp->status3;
@@ -493,8 +494,8 @@ int ath9k_hw_process_rxdesc_edma(struct ath_hw *ah, struct ath_rx_status *rxs, rxs->rs_isaggr = (rxsp->status11 & AR_RxAggr) ?1 :0 ; rxs->rs_moreaggr = (rxsp->status11 & AR_RxMoreAggr) ?1 :0 ; rxs->rs_antenna = (MS (rxsp->status4, AR_RxAntenna) &0x7 ); - rxs->rs_flags = (rxsp->status4 &AR_GI ) ?ATH9K_RX_GI :0 ; - rxs->rs_flags |= (rxsp->status4 &AR_2040 ) ?ATH9K_RX_2040 :0 ; + rxs->flag |= (rxsp->status4 &AR_GI ) ?RX_FLAG_SHORT_GI :0 ; + rxs->flag |= (rxsp->status4 &AR_2040 ) ?RX_FLAG_40MHZ :0 ; rxs->evm0 = rxsp->status6; rxs->evm1 = rxsp->status7;
drivers/net/wireless/ath/ath9k/mac.c +7 -4
@@ -547,6 +547,7 @@ int ath9k_hw_rxprocdesc(struct ath_hw *ah, struct ath_desc *ds, rs->rs_status =0 ; rs->rs_flags =0 ; + rs->flag =0 ; rs->rs_datalen = ads.ds_rxstatus1 & AR_DataLen; rs->rs_tstamp = ads.AR_RcvTimestamp;
@@ -586,10 +587,12 @@ int ath9k_hw_rxprocdesc(struct ath_hw *ah, struct ath_desc *ds, rs->rs_moreaggr = (ads.ds_rxstatus8 & AR_RxMoreAggr) ?1 :0 ; rs->rs_antenna =MS (ads.ds_rxstatus3, AR_RxAntenna); - rs->rs_flags = - (ads.ds_rxstatus3 &AR_GI ) ?ATH9K_RX_GI :0 ; - rs->rs_flags |= - (ads.ds_rxstatus3 &AR_2040 ) ?ATH9K_RX_2040 :0 ; + +/* directly mapped flags for ieee80211_rx_status */ + rs->flag |= + (ads.ds_rxstatus3 &AR_GI ) ?RX_FLAG_SHORT_GI :0 ; + rs->flag |= + (ads.ds_rxstatus3 &AR_2040 ) ?RX_FLAG_40MHZ :0 ;if (ads.ds_rxstatus8 & AR_PreDelimCRCErr) rs->rs_flags |=ATH9K_RX_DELIM_CRC_PRE ;
drivers/net/wireless/ath/ath9k/mac.h +1 -0
@@ -149,6 +149,7 @@ struct ath_rx_status {u32 evm2;u32 evm3;u32 evm4; +u32 flag;/* see enum mac80211_rx_flags */ };struct ath_htc_rx_status {
drivers/net/wireless/ath/ath9k/recv.c +1 -4
@@ -868,10 +868,7 @@ static int ath9k_process_rate(struct ath_common *common,if (rx_stats->rs_rate &0x80 ) {/* HT rate */ rxs->flag |=RX_FLAG_HT ; -if (rx_stats->rs_flags &ATH9K_RX_2040 ) - rxs->flag |=RX_FLAG_40MHZ ; -if (rx_stats->rs_flags &ATH9K_RX_GI ) - rxs->flag |=RX_FLAG_SHORT_GI ; + rxs->flag |= rx_stats->flag; rxs->rate_idx = rx_stats->rs_rate &0x7f ;return 0 ; }
Signature · 1 line
1.8.1.2
PATCH v4 2/2 ath9k: check for Rx-STBC flag and pass it to ieee80211
In reply to Oleksij RempelThis patch make use of STBC flag in DMA RX descriptor. Only devices after ar9280 can provide this information.
If card support it we will set HAVE_STBC flag, to show clint programm thet STBC is supported but not received.
--- drivers/net/wireless/ath/ath9k/init.c | 10 ++++++++-- drivers/net/wireless/ath/ath9k/mac.c | 5 +++++ drivers/net/wireless/ath/ath9k/mac.h | 3 ++- 3 files changed, 15 insertions(+), 3 deletions(-)
drivers/net/wireless/ath/ath9k/init.c +8 -2
@@ -21,6 +21,7 @@#include <linux/ath9k_platform.h> #include <linux/module.h> #include <linux/relay.h> +#include <net/ieee80211_radiotap.h> #include "ath9k.h"
@@ -769,8 +770,13 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)IEEE80211_HW_REPORTS_TX_ACK_STATUS |IEEE80211_HW_SUPPORTS_RC_TABLE ; -if (sc->sc_ah->caps.hw_caps &ATH9K_HW_CAP_HT ) - hw->flags |=IEEE80211_HW_AMPDU_AGGREGATION ; +if (sc->sc_ah->caps.hw_caps &ATH9K_HW_CAP_HT ) { + hw->flags |=IEEE80211_HW_AMPDU_AGGREGATION ; + +if (AR_SREV_9280_20_OR_LATER (ah)) + hw->radiotap_mcs_details |= +IEEE80211_RADIOTAP_MCS_HAVE_STBC ; + }if (AR_SREV_9160_10_OR_LATER (sc->sc_ah) || ath9k_modparam_nohwcrypt) hw->flags |=IEEE80211_HW_MFP_CAPABLE ;
drivers/net/wireless/ath/ath9k/mac.c +5 -0
@@ -593,6 +593,11 @@ int ath9k_hw_rxprocdesc(struct ath_hw *ah, struct ath_desc *ds, (ads.ds_rxstatus3 &AR_GI ) ?RX_FLAG_SHORT_GI :0 ; rs->flag |= (ads.ds_rxstatus3 &AR_2040 ) ?RX_FLAG_40MHZ :0 ; +if (AR_SREV_9280_20_OR_LATER (ah)) + rs->flag |= + (ads.ds_rxstatus3 &AR_STBC ) ? +/* we can only Nss=1 STBC */ + (1 <<RX_FLAG_STBC_SHIFT ) :0 ;if (ads.ds_rxstatus8 & AR_PreDelimCRCErr) rs->rs_flags |=ATH9K_RX_DELIM_CRC_PRE ;
drivers/net/wireless/ath/ath9k/mac.h +2 -1
@@ -534,7 +534,8 @@ struct ar5416_desc {#define AR_2040 0x00000002#define AR_Parallel40 0x00000004#define AR_Parallel40_S 2 -#define AR_RxStatusRsvd30 0x000000f8 +#define AR_STBC 0x00000008/* on ar9280 and later */ +#define AR_RxStatusRsvd30 0x000000f0#define AR_RxAntenna 0xffffff00#define AR_RxAntenna_S 8
Signature · 1 line
1.8.1.2
cover ath9k: add STBC Rx flags (repost untill some one asnwers)
In reply to Oleksij RempelQuoted 2 lines · Oleksij Rempel
One more repost of old patches. I need, please, at least some kind of answer:
"we don't wont patches from you" or "you are doing some thing wrong".
Both the patches have already been merged in wireless-testing.
commit b0a1ae976d6cd40ff90ba87883e17eb2610dae3d
Author: Oleksij Rempel <[email protected]> Date: Fri May 24 20:30:59 2013 +0200
ath9k: check for Rx-STBC flag and pass it to ieee80211
This patch make use of STBC flag in DMA RX descriptor. Only devices after ar9280 can provide this information.
If card support it we will set HAVE_STBC flag, to show clint programm thet STBC is supported but not received.
commit ab276103357637fb26cc851369b5abbdc42afbf4
Author: Oleksij Rempel <[email protected]> Date: Fri May 24 12:18:30 2013 +0200
ath9k: remove useless flag conversation.
some flags used only outside of ath9k - In this case we can use "enum mac80211_rx_flags" and pass it upstream without extra conversation.
Sujith
cover ath9k: add STBC Rx flags (repost untill some one asnwers)
Am 03.06.2013 11:59, schrieb Sujith Manoharan:
Quoted 5 lines
Quoted 2 lines · Oleksij Rempel
One more repost of old patches. I need, please, at least some kind of answer:
"we don't wont patches from you" or "you are doing some thing wrong".Both the patches have already been merged in wireless-testing.
ah... i didn't noticed that.
thank you ;)
Quoted 30 lines
commit
b0a1ae976d6cd40ff90ba87883e17eb2610dae3dAuthor: Oleksij Rempel <[email protected]> Date: Fri May 24 20:30:59 2013 +0200ath9k: check for Rx-STBC flag and pass it to ieee80211
This patch make use of STBC flag in DMA RX descriptor. Only devices after ar9280 can provide this information.
If card support it we will set
HAVE_STBCflag, to show clint programm thet STBC is supported but not received.Signed-off-by Oleksij Rempel <[email protected]>Signed-off-by John W. Linville <[email protected]>commit
ab276103357637fb26cc851369b5abbdc42afbf4Author: Oleksij Rempel <[email protected]> Date: Fri May 24 12:18:30 2013 +0200ath9k: remove useless flag conversation.
some flags used only outside of ath9k - In this case we can use "enum
mac80211_rx_flags" and pass it upstream without extra conversation.Signed-off-by Oleksij Rempel <[email protected]>Signed-off-by John W. Linville <[email protected]>Sujith
Signature · 2 lines
Regards, Oleksij