diff options
| author | gaolez <gaolez@codeaurora.org> | 2019-04-09 14:37:02 +0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-07-09 00:41:27 -0700 |
| commit | 61f49f98313634b00b3116ea15b51e5b2ca25ede (patch) | |
| tree | 0c3bb099f8478000f2a9b00415fdce4b586b965d | |
| parent | cd15da232745b0e4318a85a145635e2d38d86446 (diff) | |
qcacld-2.0: Add rx time statistic for dump survey
Add rx time statistic for cfg80211 dump survey interface function.
Change-Id: I3fa4046ca7657f92fe8fa5c13d72efec065afbcb
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_main.h | 4 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 14 | ||||
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 1 |
4 files changed, 18 insertions, 3 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h index ee2bc560d9f5..1e092c82a838 100644 --- a/CORE/HDD/inc/wlan_hdd_main.h +++ b/CORE/HDD/inc/wlan_hdd_main.h @@ -1730,8 +1730,10 @@ struct acs_dfs_policy { * @cycle_count: cycle count * @rx_clear_count: rx clear count * @tx_frame_count: TX frame count + * @rx_frame_count: RX frame count * @delta_cycle_count: delta of cc * @delta_rx_clear_count: delta of rcc + * @delta_rx_frame_count: delta of rfc * @delta_tx_frame_count: delta of tfc * @clock_freq: clock frequence MHZ */ @@ -1741,9 +1743,11 @@ struct hdd_scan_chan_info { uint32_t noise_floor; uint32_t cycle_count; uint32_t rx_clear_count; + uint32_t rx_frame_count; uint32_t tx_frame_count; uint32_t delta_cycle_count; uint32_t delta_rx_clear_count; + uint32_t delta_rx_frame_count; uint32_t delta_tx_frame_count; uint32_t clock_freq; }; diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 409854a5bc6d..f0c53a7cb2d3 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -30948,6 +30948,7 @@ static void wlan_hdd_chan_info_cb(struct scan_chan_info *info) chan[idx].noise_floor = info->noise_floor; chan[idx].cycle_count = info->cycle_count; chan[idx].rx_clear_count = info->rx_clear_count; + chan[idx].rx_frame_count = info->rx_frame_count; chan[idx].tx_frame_count = info->tx_frame_count; chan[idx].clock_freq = info->clock_freq; break; @@ -30960,6 +30961,10 @@ static void wlan_hdd_chan_info_cb(struct scan_chan_info *info) info->rx_clear_count - chan[idx].rx_clear_count; + chan[idx].delta_rx_frame_count = + info->rx_frame_count - + chan[idx].rx_frame_count; + chan[idx].delta_tx_frame_count = info->tx_frame_count - chan[idx].tx_frame_count; @@ -31018,8 +31023,7 @@ void wlan_hdd_init_chan_info(hdd_context_t *hdd_ctx) } sme_set_chan_info_callback( hdd_ctx->hHal, - &wlan_hdd_chan_info_cb - ); + wlan_hdd_chan_info_cb); } } @@ -31126,13 +31130,17 @@ static int __wlan_hdd_cfg80211_dump_survey(struct wiphy *wiphy, survey->time_busy = pHddCtx->chan_info[idx].delta_rx_clear_count / (pHddCtx->chan_info[idx].clock_freq * 1000); + survey->time_rx = + pHddCtx->chan_info[idx].delta_rx_frame_count / + (pHddCtx->chan_info[idx].clock_freq * 1000); survey->time_tx = pHddCtx->chan_info[idx].delta_tx_frame_count / (pHddCtx->chan_info[idx].clock_freq * 1000); survey->filled |= SURVEY_INFO_TIME | SURVEY_INFO_TIME_BUSY | - SURVEY_INFO_TIME_TX; + SURVEY_INFO_TIME_TX | + SURVEY_INFO_TIME_RX; #else survey->channel_time = pHddCtx->chan_info[idx].delta_cycle_count / diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index 436f3a69fdc0..0dff0733ba87 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -8592,6 +8592,7 @@ struct sme_flush_pending { * @cycle_count: cycle count * @rx_clear_count: rx clear count * @tx_frame_count: TX frame count + * @rx_frame_count: RX frame count * @clock_freq: clock frequence MHZ */ struct scan_chan_info { @@ -8601,6 +8602,7 @@ struct scan_chan_info { uint32_t cycle_count; uint32_t rx_clear_count; uint32_t tx_frame_count; + uint32_t rx_frame_count; uint32_t clock_freq; }; diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index ecc48eead24f..cf2e99bbb200 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -8989,6 +8989,7 @@ wma_chan_info_event_handler(void *handle, u_int8_t *event_buf, return -EINVAL; } buf.tx_frame_count = event->tx_frame_cnt; + buf.rx_frame_count = event->rx_frame_count; buf.clock_freq = event->mac_clk_mhz; buf.cmd_flag = event->cmd_flags; buf.freq = event->freq; |
