Bug with: ath10k: enable parsing per station rx duration for 10.4?
I'm working on bringing up my hacked up version of 4.7 ath10k and 10.4 firmware, and I think I may have found a regression.
My 10.4.3-ish firmware source has a bunch of:
if (stats_id == WMI_REQUEST_PEER_STAT)
logic in it. In other words, it is not using that id as a bitfield.
Now, I can fix the firmware, but I am guessing that at least some stock 10.4 firmware has this same issue, and of course any older firmware that does not have this change will still be broken.
So, do you want to back out this patch below, at least the part where it sends in 0x9 as the stats_id?
Or, is all available upstream 10.4 firmware OK with this and I should just fix mine?
Or possibly, this is all my fault and I somehow screwed up when rebasing....
Thanks,
Ben
Author: Mohammed Shafi Shajakhan <[email protected]> 2016-03-16 05:43:34
Committer: Kalle Valo <[email protected]> 2016-04-04 07:02:47
Parent: 47771902a9beb23859805721f1d98d03dee5da7c (ath10k: introduce Extended Resource Config support for 10.4)
Child: 59465fe46ef1c2caf2c1beca828c4f29d28b98ca (ath10k: speedup htt rx descriptor processing for tx completion)
Branches: master, master.stgit, remotes/origin/master, remotes/origin/master.stgit
Follows: v4.5-rc5
Precedes: v4.7-rc1
ath10k: enable parsing per station rx duration for 10.4
Rx duration support for per station is part of extended peer stats, enable provision to parse the same and provide backward compatibility based on the 'stats_id' event
....
@@ -1615,7 +1615,8 @@ static int ath10k_core_init_firmware_features(struct ath10k *ar)
ar->num_active_peers = TARGET_10_4_ACTIVE_PEERS; ar->max_num_vdevs = TARGET_10_4_NUM_VDEVS;
ar->num_tids = TARGET_10_4_TGT_NUM_TIDS;
- ar->fw_stats_req_mask = WMI_STAT_PEER;
+ ar->fw_stats_req_mask = WMI_10_4_STAT_PEER |
+ WMI_10_4_STAT_PEER_EXTD;
ar->max_spatial_stream = ar->hw_params.max_spatial_stream;
if (test_bit(ATH10K_FW_FEATURE_PEER_FLOW_CONTROL,
Signature · 8 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com _______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k
Hi Ben,
thanks for reporting ...
Quoted 2 lines · Ben Greear
I'm working on bringing up my hacked up version of 4.7 ath10k and 10.4 firmware, and I think I may have found a regression.
[shafi] let me know what is the issue.. some steps to recreate the issue.
Quoted 5 lines
My 10.4.3-ish firmware source has a bunch of:
if (
stats_id==WMI_REQUEST_PEER_STAT)
logic in it. In other words, it is not using that id as a bitfield.
[shafi] will check this.
Quoted 7 lines
Now, I can fix the firmware, but I am guessing that at least some stock 10.4 firmware has this same issue, and of course any older firmware that does not have this change will still be broken.
So, do you want to back out this patch below, at least the part where it sends in
0x9as thestats_id?
[shafi] request if you can check this please, there was some misunderstanding in the design when this feature got enabled in 10.4, we fixed it in
https://patchwork.kernel.org/patch/9149357/
Quoted 4 lines
Or, is all available upstream 10.4 firmware OK with this and I should just fix mine?
Or possibly, this is all my fault and I somehow screwed up when rebasing....
[shafi] i will check this and get back to you by end of day.
regards,
shafi
Quoted 42 lines
Author: Mohammed Shafi Shajakhan <[email protected]> 2016-03-16 05:43:34
Committer: Kalle Valo <[email protected]> 2016-04-04 07:02:47
Parent:47771902a9beb23859805721f1d98d03dee5da7c(ath10k: introduce Extended Resource Config support for 10.4)
Child:59465fe46ef1c2caf2c1beca828c4f29d28b98ca(ath10k: speedup htt rx descriptor processing for tx completion)
Branches: master, master.stgit, remotes/origin/master, remotes/origin/master.stgit
Follows: v4.5-rc5
Precedes: v4.7-rc1ath10k: enable parsing per station rx duration for 10.4
Rx duration support for per station is part of extended peer stats, enable provision to parse the same and provide backward compatibility based on the '
stats_id' eventSigned-off-by Mohammed Shafi Shajakhan <[email protected]>Signed-off-by Kalle Valo <[email protected]>....
(quoted diff) +2
-1@@ -1615,7 +1615,8 @@ static int ath10k_core_init_firmware_features(struct ath10k *ar) ar->num_active_peers = TARGET_10_4_ACTIVE_PEERS; ar->max_num_vdevs = TARGET_10_4_NUM_VDEVS; ar->num_tids = TARGET_10_4_TGT_NUM_TIDS; - ar->fw_stats_req_mask = WMI_STAT_PEER; + ar->fw_stats_req_mask = WMI_10_4_STAT_PEER | + WMI_10_4_STAT_PEER_EXTD; ar->max_spatial_stream = ar->hw_params.max_spatial_stream; if (test_bit(ATH10K_FW_FEATURE_PEER_FLOW_CONTROL,Signature · 9 lines
-- Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com _______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k
Quoted 9 lines · Mohammed Shafi Shajakhan
Hi Ben,
thanks for reporting ...
Quoted 2 lines · Ben Greear
I'm working on bringing up my hacked up version of 4.7 ath10k and 10.4 firmware, and I think I may have found a regression.
[shafi] let me know what is the issue.. some steps to recreate the issue.
ethtool -S wlan0
or similar should reproduce it.
You would see stats timeout messages in dmesg, and with a bit more debugging, you notice that the driver is basically busy-spinning trying to get stats over WMI and/or it is giving errors because skb pull fails because there actually is not extd stats struct.
Quoted 7 lines
Quoted 5 lines
My 10.4.3-ish firmware source has a bunch of:
if (
stats_id==WMI_REQUEST_PEER_STAT)
logic in it. In other words, it is not using that id as a bitfield.[shafi] will check this.
I fixed my firmware to treat it as a bitfield, and to specifically un-set the EXTD stats bit, and now it works with my 4.7. Firmware fix should be backwards compatible.
Quoted 10 lines
Quoted 6 lines
Now, I can fix the firmware, but I am guessing that at least some stock 10.4 firmware has this same issue, and of course any older firmware that does not have this change will still be broken.
So, do you want to back out this patch below, at least the part where it sends in
0x9as thestats_id?[shafi] request if you can check this please, there was some misunderstanding in the design when this feature got enabled in 10.4, we fixed it in
https://patchwork.kernel.org/patch/9149357/
That might have fixed it, but it is not in 4.7, so I didn't have it in my tree when testing yesterday.
Thanks,
Ben
Signature · 7 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com _______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k
Quoted 13 lines · Ben Greear
Quoted 9 lines · Mohammed Shafi Shajakhan
Hi Ben,
thanks for reporting ...
Quoted 2 lines · Ben Greear
I'm working on bringing up my hacked up version of 4.7 ath10k and 10.4 firmware, and I think I may have found a regression.
[shafi] let me know what is the issue.. some steps to recreate the issue.
Quoted 7 lines
ethtool -S wlan0
or similar should reproduce it.You would see stats timeout messages in dmesg, and with a bit more debugging, you notice that the driver is basically busy-spinning trying to get stats over WMI and/or it is giving errors because skb pull fails because there actually is not extd stats struct.
https://patchwork.kernel.org/patch/9149357/
should help (Kalle had a cleaned up version in his pending branch
Quoted 24 lines
Quoted 8 lines
Quoted 6 lines
My 10.4.3-ish firmware source has a bunch of:
if (
stats_id==WMI_REQUEST_PEER_STAT)
logic in it. In other words, it is not using that id as a bitfield.[shafi] will check this.
I fixed my firmware to treat it as a bitfield, and to specifically un-set the EXTD stats bit, and now it works with my 4.7. Firmware fix should be backwards compatible.
Quoted 10 lines
Quoted 6 lines
Now, I can fix the firmware, but I am guessing that at least some stock 10.4 firmware has this same issue, and of course any older firmware that does not have this change will still be broken.
So, do you want to back out this patch below, at least the part where it sends in
0x9as thestats_id?[shafi] request if you can check this please, there was some misunderstanding in the design when this feature got enabled in 10.4, we fixed it in
https://patchwork.kernel.org/patch/9149357/
Quoted 9 lines
That might have fixed it, but it is not in 4.7, so I didn't have it in my tree when testing yesterday.
Thanks,
BenSignature · 2 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com
_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k