summaryrefslogtreecommitdiff
path: root/qcwcn
diff options
context:
space:
mode:
authorAjit Vaishya <ajitv@codeaurora.org>2019-02-26 18:25:55 +0530
committerLes Lee <lesl@google.com>2019-06-13 07:40:54 +0000
commit32886cca7ac0af6c75a39184dfbee82ea5ac69ad (patch)
tree071b72e221eea984a6504aa933b56ccd41ab19b1 /qcwcn
parentdceeae89168333edbda8676581a1820ac3b95a58 (diff)
downloadwlan-32886cca7ac0af6c75a39184dfbee82ea5ac69ad.tar.gz
Wifi-hal: TX Per Packet stats for V2 version.
Current TX per packet stats parsing logic cannot be used to parse TX stats for packet log new version V2, because of packet log structure format is different. This changes introduces to parse new packet log version V2, based on required OFFSET from received TX payload. Support to read packet log version i.e V1/V2/V3 by reading firmware version. Change-Id: Ie5c508bb2fd3e00674dd807c3003b00857d3f070 CRs-Fixed: 2402099 Bug: 130226017 Test: Manual Test, turn verbose logging and check pkt log
Diffstat (limited to 'qcwcn')
-rw-r--r--qcwcn/wifi_hal/wifilogger_diag.cpp30
1 files changed, 5 insertions, 25 deletions
diff --git a/qcwcn/wifi_hal/wifilogger_diag.cpp b/qcwcn/wifi_hal/wifilogger_diag.cpp
index 2e01fe0..12aa69f 100644
--- a/qcwcn/wifi_hal/wifilogger_diag.cpp
+++ b/qcwcn/wifi_hal/wifilogger_diag.cpp
@@ -2394,27 +2394,7 @@ static wifi_error parse_stats_record_v2(hal_info *info,
{
wifi_error status = WIFI_SUCCESS;
- if (pkt_stats_header->log_type == PKTLOG_TYPE_RX_STAT) {
- /* Ignore the event if it doesn't carry RX descriptor */
- if (pkt_stats_header->flags & PKT_INFO_FLG_RX_RXDESC_MASK)
- status = parse_rx_stats_v2(info,
- (u8 *)(pkt_stats_header + 1),
- pkt_stats_header->size);
- else
- status = WIFI_SUCCESS;
- } else if (pkt_stats_header->log_type == PKTLOG_TYPE_PKT_DUMP_V2) {
- pthread_mutex_lock(&info->pkt_fate_stats_lock);
- if (info->fate_monitoring_enabled) {
- if (pkt_stats_header->flags & PKT_INFO_FLG_PKT_DUMP_V2)
- status = parse_pkt_fate_stats(info,
- (u8 *)pkt_stats_header + sizeof(wh_pktlog_hdr_v2_t),
- pkt_stats_header->size);
- else
- status = WIFI_SUCCESS;
- } else
- status = WIFI_SUCCESS;
- pthread_mutex_unlock(&info->pkt_fate_stats_lock);
- } else if (pkt_stats_header->log_type == PKTLOG_TYPE_PKT_SW_EVENT) {
+ if (pkt_stats_header->log_type == PKTLOG_TYPE_PKT_SW_EVENT) {
status = parse_stats_sw_event(info, pkt_stats_header);
} else
ALOGE("%s: invalid log_type %d",__FUNCTION__, pkt_stats_header->log_type);
@@ -2499,10 +2479,7 @@ static wifi_error parse_stats(hal_info *info, u8 *data, u32 buflen)
}
}
- if (info->pkt_log_ver == PKT_LOG_V2) {
- data += (sizeof(wh_pktlog_hdr_v2_t) + pkt_stats_header->size);
- buflen -= (sizeof(wh_pktlog_hdr_v2_t) + pkt_stats_header->size);
- } else {
+ if (info->pkt_log_ver == PKT_LOG_V1) {
if (pkt_stats_header->flags & PKT_INFO_FLG_PKT_DUMP_V2){
data += (sizeof(wh_pktlog_hdr_v2_t) + pkt_stats_header->size);
buflen -= (sizeof(wh_pktlog_hdr_v2_t) + pkt_stats_header->size);
@@ -2510,6 +2487,9 @@ static wifi_error parse_stats(hal_info *info, u8 *data, u32 buflen)
data += (sizeof(wh_pktlog_hdr_t) + pkt_stats_header->size);
buflen -= (sizeof(wh_pktlog_hdr_t) + pkt_stats_header->size);
}
+ } else if (info->pkt_log_ver == PKT_LOG_V2) {
+ data += (sizeof(wh_pktlog_hdr_v2_t) + pkt_stats_header->size);
+ buflen -= (sizeof(wh_pktlog_hdr_v2_t) + pkt_stats_header->size);
}
} while (buflen > 0);