* [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers)
@ 2013-06-03 7:57 Oleksij Rempel
2013-06-03 7:57 ` [PATCH 1/2] ath9k: remove useless flag conversation Oleksij Rempel
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Oleksij Rempel @ 2013-06-03 7:57 UTC (permalink / raw)
To: ath9k-devel, linux-wireless; +Cc: 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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] ath9k: remove useless flag conversation.
2013-06-03 7:57 [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Oleksij Rempel
@ 2013-06-03 7:57 ` Oleksij Rempel
2013-06-03 7:57 ` [PATCH v4 2/2] ath9k: check for Rx-STBC flag and pass it to ieee80211 Oleksij Rempel
2013-06-03 9:59 ` [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Sujith Manoharan
2 siblings, 0 replies; 5+ messages in thread
From: Oleksij Rempel @ 2013-06-03 7:57 UTC (permalink / raw)
To: ath9k-devel, linux-wireless; +Cc: Oleksij Rempel
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 <linux@rempel-privat.de>
---
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(-)
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
index 301bf72..5163abd 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
@@ -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;
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c
index 498fee0..a52081d 100644
--- a/drivers/net/wireless/ath/ath9k/mac.c
+++ b/drivers/net/wireless/ath/ath9k/mac.c
@@ -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;
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h
index 5865f92..3f1e775 100644
--- a/drivers/net/wireless/ath/ath9k/mac.h
+++ b/drivers/net/wireless/ath/ath9k/mac.h
@@ -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 {
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 8be2b5d..b4b758d 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -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;
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v4 2/2] ath9k: check for Rx-STBC flag and pass it to ieee80211
2013-06-03 7:57 [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Oleksij Rempel
2013-06-03 7:57 ` [PATCH 1/2] ath9k: remove useless flag conversation Oleksij Rempel
@ 2013-06-03 7:57 ` Oleksij Rempel
2013-06-03 9:59 ` [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Sujith Manoharan
2 siblings, 0 replies; 5+ messages in thread
From: Oleksij Rempel @ 2013-06-03 7:57 UTC (permalink / raw)
To: ath9k-devel, linux-wireless; +Cc: Oleksij Rempel
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.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
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(-)
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index aba4151..b9c97d4 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -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;
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c
index a52081d..d055e38 100644
--- a/drivers/net/wireless/ath/ath9k/mac.c
+++ b/drivers/net/wireless/ath/ath9k/mac.c
@@ -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;
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h
index 3f1e775..b02dfce 100644
--- a/drivers/net/wireless/ath/ath9k/mac.h
+++ b/drivers/net/wireless/ath/ath9k/mac.h
@@ -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
--
1.8.1.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers)
2013-06-03 7:57 [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Oleksij Rempel
2013-06-03 7:57 ` [PATCH 1/2] ath9k: remove useless flag conversation Oleksij Rempel
2013-06-03 7:57 ` [PATCH v4 2/2] ath9k: check for Rx-STBC flag and pass it to ieee80211 Oleksij Rempel
@ 2013-06-03 9:59 ` Sujith Manoharan
2013-06-03 10:14 ` Oleksij Rempel
2 siblings, 1 reply; 5+ messages in thread
From: Sujith Manoharan @ 2013-06-03 9:59 UTC (permalink / raw)
To: Oleksij Rempel; +Cc: ath9k-devel, linux-wireless
Oleksij Rempel wrote:
> 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 <linux@rempel-privat.de>
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.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
commit ab276103357637fb26cc851369b5abbdc42afbf4
Author: Oleksij Rempel <linux@rempel-privat.de>
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.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers)
2013-06-03 9:59 ` [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Sujith Manoharan
@ 2013-06-03 10:14 ` Oleksij Rempel
0 siblings, 0 replies; 5+ messages in thread
From: Oleksij Rempel @ 2013-06-03 10:14 UTC (permalink / raw)
To: Sujith Manoharan; +Cc: ath9k-devel, linux-wireless
Am 03.06.2013 11:59, schrieb Sujith Manoharan:
> Oleksij Rempel wrote:
>> 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 ;)
> commit b0a1ae976d6cd40ff90ba87883e17eb2610dae3d
> Author: Oleksij Rempel <linux@rempel-privat.de>
> 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.
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> Signed-off-by: John W. Linville <linville@tuxdriver.com>
>
> commit ab276103357637fb26cc851369b5abbdc42afbf4
> Author: Oleksij Rempel <linux@rempel-privat.de>
> 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.
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> Signed-off-by: John W. Linville <linville@tuxdriver.com>
>
> Sujith
>
--
Regards,
Oleksij
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-06-03 10:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-03 7:57 [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Oleksij Rempel
2013-06-03 7:57 ` [PATCH 1/2] ath9k: remove useless flag conversation Oleksij Rempel
2013-06-03 7:57 ` [PATCH v4 2/2] ath9k: check for Rx-STBC flag and pass it to ieee80211 Oleksij Rempel
2013-06-03 9:59 ` [PATCH 0/2] ath9k: add STBC Rx flags (repost untill some one asnwers) Sujith Manoharan
2013-06-03 10:14 ` Oleksij Rempel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).