Re: [ath9k-devel] [PATCH 1/2] ath10k: wmi_mgmt_rx setup band

2013-04-17 Thread Kalle Valo
Janusz Dziedzic janusz.dzied...@tieto.com writes:

 Setup band using wmi_event and phy_mode
 reported by FW/HW.

 Signed-off-by: Janusz Dziedzic janusz.dzied...@tieto.com

Both applied, thanks.

But the commit logs don't still answer the question why?. Especially
the change from user space point of view is important (if there are
any).

 --- a/drivers/net/wireless/ath/ath10k/wmi.c
 +++ b/drivers/net/wireless/ath/ath10k/wmi.c
 @@ -240,6 +240,35 @@ static int wmi_event_scan(struct ath10k *ar, struct 
 sk_buff *skb)
   return 0;
  }
  
 +
 +static inline enum ieee80211_band phy_mode_to_band(u32 phy_mode)

I also removed the extra new line.

-- 
Kalle Valo
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH 1/2] ath10k: wmi_mgmt_rx setup band

2013-04-17 Thread Kalle Valo
Kalle Valo kv...@qca.qualcomm.com writes:

 Janusz Dziedzic janusz.dzied...@tieto.com writes:

 Setup band using wmi_event and phy_mode
 reported by FW/HW.

 Signed-off-by: Janusz Dziedzic janusz.dzied...@tieto.com

 Both applied, thanks.

Forgot to mention that there were conflicts with both patches. Please
check that I didn't do anything stupid when fixing the conflicts.

-- 
Kalle Valo
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH 1/2] ath10k: wmi_mgmt_rx setup band

2013-04-17 Thread Janusz.Dziedzic
-Original Message-
From: Kalle Valo [mailto:kv...@qca.qualcomm.com]
Sent: 17 kwietnia 2013 08:33
To: Dziedzic Janusz
Cc: ath9k-devel@lists.ath9k.org
Subject: Re: [ath9k-devel] [PATCH 1/2] ath10k: wmi_mgmt_rx setup band

Kalle Valo kv...@qca.qualcomm.com writes:

 Janusz Dziedzic janusz.dzied...@tieto.com writes:

 Setup band using wmi_event and phy_mode reported by FW/HW.

 Signed-off-by: Janusz Dziedzic janusz.dzied...@tieto.com

 Both applied, thanks.

Forgot to mention that there were conflicts with both patches. Please check
that I didn't do anything stupid when fixing the conflicts.

Thanks.
Everything is fine.

BR
Janusz
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


[ath9k-devel] [PATCH 1/2] ath10k: wmi_mgmt_rx setup band

2013-04-16 Thread Janusz Dziedzic
Setup band using wmi_event and phy_mode
reported by FW/HW.

Signed-off-by: Janusz Dziedzic janusz.dzied...@tieto.com
---
 drivers/net/wireless/ath/ath10k/wmi.c |   38 +++--
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c 
b/drivers/net/wireless/ath/ath10k/wmi.c
index 1cb55bb..4d2257a 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -240,6 +240,35 @@ static int wmi_event_scan(struct ath10k *ar, struct 
sk_buff *skb)
return 0;
 }
 
+
+static inline enum ieee80211_band phy_mode_to_band(u32 phy_mode)
+{
+   enum ieee80211_band band;
+
+   switch (phy_mode) {
+   case MODE_11A:
+   case MODE_11NA_HT20:
+   case MODE_11NA_HT40:
+   case MODE_11AC_VHT20:
+   case MODE_11AC_VHT40:
+   case MODE_11AC_VHT80:
+   band = IEEE80211_BAND_5GHZ;
+   break;
+   case MODE_11G:
+   case MODE_11B:
+   case MODE_11GONLY:
+   case MODE_11NG_HT20:
+   case MODE_11NG_HT40:
+   case MODE_11AC_VHT20_2G:
+   case MODE_11AC_VHT40_2G:
+   case MODE_11AC_VHT80_2G:
+   default:
+   band = IEEE80211_BAND_2GHZ;
+   }
+
+   return band;
+}
+
 static int wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)
 {
struct wmi_mgmt_rx_event *event = (void *)skb-data;
@@ -247,6 +276,7 @@ static int wmi_event_mgmt_rx(struct ath10k *ar, struct 
sk_buff *skb)
struct ieee80211_hdr *hdr;
u32 rx_status;
u32 channel;
+   u32 phy_mode;
u32 snr;
u32 buf_len;
u16 fc;
@@ -255,6 +285,7 @@ static int wmi_event_mgmt_rx(struct ath10k *ar, struct 
sk_buff *skb)
buf_len   = __le32_to_cpu(event-hdr.buf_len);
rx_status = __le32_to_cpu(event-hdr.status);
snr   = __le32_to_cpu(event-hdr.snr);
+   phy_mode  = __le32_to_cpu(event-hdr.phy_mode);
 
memset(status, 0, sizeof(*status));
 
@@ -275,12 +306,7 @@ static int wmi_event_mgmt_rx(struct ath10k *ar, struct 
sk_buff *skb)
if (rx_status  WMI_RX_STATUS_ERR_MIC)
status-flag |= RX_FLAG_MMIC_ERROR;
 
-   /* FIXME: We probably should use event-phy_mode for that */
-   if (channel  14)
-   status-band = IEEE80211_BAND_5GHZ;
-   else
-   status-band = IEEE80211_BAND_2GHZ;
-
+   status-band = phy_mode_to_band(phy_mode);
status-freq = ieee80211_channel_to_frequency(channel, status-band);
status-signal = snr + ATH10K_DEFAULT_NOISE_FLOOR;
 
-- 
1.7.9.5

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel