[PATCH] ath10k: implement per-VDEV FW statistics

Kalle Valo kvalo at qca.qualcomm.com
Wed Aug 28 06:30:14 EDT 2013


Bartosz Markowski <bartosz.markowski at tieto.com> writes:

> On 28 August 2013 12:13, Kalle Valo <kvalo at qca.qualcomm.com> wrote:
>> Bartosz Markowski <bartosz.markowski at tieto.com> writes:
>>
>>> The WMI_REQUEST_PEER_STAT command with latst (1.0.0.716) FW
>>> can return per-VDEV statistics. Using debugfs we can fetch this info now.
>>>
>>> This is a backward compatible change. In case of older FW the VDEV
>>> statistics are simply not returned.
>>>
>>> Signed-off-by: Bartosz Markowski <bartosz.markowski at tieto.com>
>>
>> [...]
>>
>>> diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
>>> index 08860c4..626bf02 100644
>>> --- a/drivers/net/wireless/ath/ath10k/wmi.h
>>> +++ b/drivers/net/wireless/ath/ath10k/wmi.h
>>> @@ -1767,6 +1772,9 @@ struct wal_dbg_tx_stats {
>>>       /* wal pdev resets  */
>>>       __le32 pdev_resets;
>>>
>>> +     /* frames dropped due to non-availability of stateless TIDs */
>>> +     __le32 stateless_tid_alloc_failure;
>>> +
>>>       __le32 phy_underrun;
>>>
>>>       /* MPDU is more than txop limit */
>>> @@ -1825,11 +1833,10 @@ enum wmi_stats_id {
>>>
>>>  struct wmi_request_stats_cmd {
>>>       __le32 stats_id;
>>> -
>>> -     /*
>>> -      * Space to add parameters like
>>> -      * peer mac addr
>>> -      */
>>> +     /* unique id identifying the VDEV, generated by the caller */
>>> +     __le32 vdev_id;
>>> +     /* peer MAC address */
>>> +     struct wmi_mac_addr peer_macaddr;
>>>  } __packed;
>>>
>>>  /* Suspend option */
>>
>> Don't these changes break the compability with the older firmware?
>
> This new wal_dbg_tx_stats filed is present also in the .636 fw release.
> So it compatible back to the first published fw for ath10k.

Then do it in a separate patch and mention the above.

>> Also, for consistency, please _v1 and _v2 suffix when having different
>> versions of wmi structs.
>
> I did. I will add the comment (as you mention in next mail) and send a V2

Actually Johannes gave a good tip: it's better to have a common struct
which both v1 and v2 use. That way we can avoid the evil cast.

-- 
Kalle Valo



More information about the ath10k mailing list