qcacld-3.0: Add support for tx time per power level in radio stats

This is a qcacld-2.0 to qcacld-3.0 propagation.

Modify the existing radio_stat structure to add time spent
in each tranmission power level.

Change-Id: Ia5da997aabd5331e736d7367c9d74dfaf3e47906
CRs-Fixed: 992365
This commit is contained in:
Srinivas Girigowda 2016-10-25 11:27:52 -07:00 • committed by Prakash Dhavali
commit 458f228137
3 changed files with 20 additions and 0 deletions

View file

@ -1652,6 +1652,14 @@ enum qca_wlan_vendor_attr_ll_stats_results {
/* Unsigned 32bit value to indicate ll stats result type */
QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE,
/* Unsigned 32bit value */
QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_TX_LEVELS,
/* Unsigned 32bit value
* Number of msecs the radio spent in transmitting for each power level
*/
QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL,
/* keep last */
QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST,
QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX =

View file

@ -882,6 +882,13 @@ static void hdd_link_layer_process_radio_stats(hdd_adapter_t *pAdapter,
nla_put_u32(vendor_event,
QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20,
pWifiRadioStat->onTimeHs20) ||
nla_put_u32(vendor_event,
QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_TX_LEVELS,
MAX_TPC_LEVELS) ||
nla_put(vendor_event,
QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL,
sizeof(u32) * MAX_TPC_LEVELS,
pWifiRadioStat->tx_time_per_tpc) ||
nla_put_u32(vendor_event,
QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS,
pWifiRadioStat->numChannels)) {

View file

@ -4995,6 +4995,7 @@ typedef struct {
uint32_t ccaBusyTime;
} tSirWifiChannelStats, *tpSirWifiChannelStats;
#define MAX_TPC_LEVELS 64
/* radio statistics */
typedef struct {
/* wifi radio (if multiple radio supported) */
@ -5035,6 +5036,10 @@ typedef struct {
uint32_t onTimeHs20;
/* number of channels */
uint32_t numChannels;
/* tx time (in milliseconds) per TPC level (0.5 dBm) */
uint32_t tx_time_per_tpc[MAX_TPC_LEVELS];
/* channel statistics tSirWifiChannelStats */
tSirWifiChannelStats channels[0];
} tSirWifiRadioStat, *tpSirWifiRadioStat;