QCA988X firmware pull-push support

Valo, Kalle kvalo at qca.qualcomm.com
Mon Jan 30 00:13:25 PST 2017


Adrian Chadd <adrian.chadd at gmail.com> writes:

> On 29 January 2017 at 17:20, Sergey Ryazanov <ryazanov.s.a at gmail.com> wrote:
>> Yep. Looks like so.
>
> Which is good, because my FreeBSD ath10k port only works with 10.1 /
> 10.2 firmware on earlier chips, and I haven't figured out the
> intermediate software queue support that came with 10.4. :-)
>
> But yeah. I'll wake for Kalle to verify, but I think it's a 10.4
> thing

So there are two parts here, ieee80211_ops::wake_tx_queue() support in
ath10k and ATH10K_FW_FEATURE_PEER_FLOW_CONTROL in firmware. We did have
wake_tx_queue() support enabled for all hw/fw combinations but it was
changed because some people claimed there are throughput regressions in
certain cases. So for now we only enable wake_tx_queue() support only if
firmware supports ATH10K_FW_FEATURE_PEER_FLOW_CONTROL:

	if (!test_bit(ATH10K_FW_FEATURE_PEER_FLOW_CONTROL,
		      ar->running_fw->fw_file.fw_features))
		ar->ops->wake_tx_queue = NULL;

I remember that there were some improvements with wake_tx_queue() even
if firmware didn't support ATH10K_FW_FEATURE_PEER_FLOW_CONTROL. I'm
starting to wonder should we have a module parameter to force use of
wake_tx_queue()?

And IIRC ATH10K_FW_FEATURE_PEER_FLOW_CONTROL was supported in some of
10.4 releases, but not all of them.

-- 
Kalle Valo


More information about the ath10k mailing list