[PATCH v2] ath10k: Fix 10.4 extended peer stats update
Valo, Kalle
kvalo at qca.qualcomm.com
Tue May 31 11:57:52 PDT 2016
Mohammed Shafi Shajakhan <mohammed at codeaurora.org> writes:
>> > +void ath10k_sta_update_rx_duration(struct ath10k *ar,
>> > + struct ath10k_fw_stats *stats)
>> > +{
>> > + struct ath10k_fw_file *fw_file = &ar->normal_mode_fw.fw_file;
>> > +
>> > + if (fw_file->wmi_op_version < ATH10K_FW_WMI_OP_VERSION_10_4)
>> > + ath10k_sta_update_stats_rx_duration(ar, &stats->peers);
>> > + else
>> > + ath10k_sta_update_extd_stats_rx_duration(ar,
>> > + &stats->peers_extd);
>> > +}
>>
>> _Ideally_ wmi_op_version should be used only in ath10k_wmi_attach() and
>> nowhere else. Isn't there any other way to detect this scenario? For
>> example, what if you store stats_id to struct ath10k_fw_stats and do
>> something like this:
>>
>> if (stats->stats_id & WMI_10_4_STAT_PEER_EXTD)
>> ath10k_sta_update_extd_stats_rx_duration(ar,
>> &stats->peers_extd);
>> else
>> ath10k_sta_update_stats_rx_duration(ar, &stats->peers);
>>
>> Would that work?
>
> [shafi] I am also thinking to re-use (ar->fw_stats_req_mask & WMI_10_4_STAT_PEER_EXTD)
> it might work, but will it conflict vdev stats WMI_STAT_VDEV (though its not currently
> supported for 10.2 )
Can you describe more how they conflict?
> let me know your thoughts about this, seems extended stats was
> implemented for 10.4 wmi version so i made it explicit
I don't like hard coding features like this based on wmi_op_version as
that might create problems managing the firmware interfaces in the
future. The simplest is if we can automatically runtime detect if
firmware uses the extended version or not.
--
Kalle Valo
More information about the ath10k
mailing list