Thread (1 message) 1 message, 1 author, 2022-03-26

Re: [PATCH v4] wcn36xx: Implement tx_rate reporting

From: Kalle Valo <kvalo@kernel.org>
Date: 2022-03-26 08:50:40
Also in: linux-wireless, lkml

Jeff Johnson [off-list ref] writes:
On 3/25/2022 3:42 PM, Edmond Gagnon wrote:
quoted
Currently, the driver reports a tx_rate of 6.0 MBit/s no matter the true
rate:

root@linaro-developer:~# iw wlan0 link
Connected to 6c:f3:7f:eb:9b:92 (on wlan0)
         SSID: SQ-DEVICETEST
         freq: 5200
         RX: 4141 bytes (32 packets)
         TX: 2082 bytes (15 packets)
         signal: -77 dBm
         rx bitrate: 135.0 MBit/s MCS 6 40MHz short GI
         tx bitrate: 6.0 MBit/s

         bss flags:      short-slot-time
         dtim period:    1
         beacon int:     100

This patch requests HAL_GLOBAL_CLASS_A_STATS_INFO via a hal_get_stats
firmware message and reports it via ieee80211_ops::sta_statistics.

root@linaro-developer:~# iw wlan0 link
Connected to 6c:f3:7f:eb:73:b2 (on wlan0)
         SSID: SQ-DEVICETEST
         freq: 5700
         RX: 26788094 bytes (19859 packets)
         TX: 1101376 bytes (12119 packets)
         signal: -75 dBm
         rx bitrate: 135.0 MBit/s MCS 6 40MHz short GI
         tx bitrate: 108.0 MBit/s VHT-MCS 5 40MHz VHT-NSS 1

         bss flags:      short-slot-time
         dtim period:    1
         beacon int:     100

Tested on MSM8939 with WCN3680B running firmware CNSS-PR-2-0-1-2-c1-00083,
and verified by sniffing frames over the air with Wireshark to ensure the
MCS indices match.

Signed-off-by: Edmond Gagnon <redacted>
Reviewed-by: Benjamin Li <redacted>
[...]
quoted
  +static void wcn36xx_sta_statistics(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
+				   struct ieee80211_sta *sta, struct station_info *sinfo)
+{
+	struct wcn36xx *wcn;
+	u8 sta_index;
+	int status = 0;
remove initializer that is always overwritten
I can fix that in the pending branch, no need to resend because of this.
quoted
  +int wcn36xx_smd_get_stats(struct wcn36xx *wcn, u8 sta_index, u32
stats_mask,
+			  struct station_info *sinfo)
+{
+	struct wcn36xx_hal_stats_req_msg msg_body;
+	struct wcn36xx_hal_stats_rsp_msg *rsp;
+	void *rsp_body;
+	int ret = 0;
remove initializer that is always overwritten before use
Ditto.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help