qcacmn: Accumulate tx and rx airtime consumption stats separately

Accumulate tx and rx airtime consumption stats separately.

Change-Id: I1196ec83d94f73ee35a77a935d5820783e239154
CRs-Fixed: 3388165
This commit is contained in:
Himanshu Batra
2023-01-11 11:15:46 +05:30
committed by Madan Koyyalamudi
parent c50244f2b8
commit 87cf6b8b07
7 changed files with 124 additions and 34 deletions

View File

@@ -274,4 +274,34 @@ cdp_set_params_rssi_dbm_conversion(ol_txrx_soc_handle soc,
(soc, params);
}
#endif
#ifdef WLAN_TELEMETRY_STATS_SUPPORT
/*
* cdp_update_pdev_mon_telemetry_airtime_stats() - update telemetry airtime
* stats in monitor pdev
*
*@soc: dp soc handle
*@pdev_id: pdev id
*
* This API is used to update telemetry airtime stats in monitor pdev
*
* Return: Success if stats are updated, else failure
*/
static inline QDF_STATUS
cdp_update_pdev_mon_telemetry_airtime_stats(ol_txrx_soc_handle soc,
uint8_t pdev_id)
{
if (!soc || !soc->ops) {
dp_cdp_debug("Invalid Instance");
return QDF_STATUS_E_FAILURE;
}
if (!soc->ops->mon_ops ||
!soc->ops->mon_ops->txrx_update_pdev_mon_telemetry_airtime_stats)
return QDF_STATUS_E_FAILURE;
return soc->ops->mon_ops->txrx_update_pdev_mon_telemetry_airtime_stats(
soc, pdev_id);
}
#endif
#endif

View File

@@ -972,6 +972,8 @@ struct cdp_me_ops {
* @config_full_mon_mode: configure full monitor mode
* @txrx_enable_mon_reap_timer: Enable/Disable reap timer of monitor status ring
* @txrx_get_lite_mon_legacy_feature_enabled: returns the legacy filter enabled
* @txrx_update_pdev_mon_telemetry_airtime_stats: update telemetry airtime
* stats in monitor pdev
*/
struct cdp_mon_ops {
@@ -1047,6 +1049,13 @@ struct cdp_mon_ops {
QDF_STATUS (*txrx_set_mon_pdev_params_rssi_dbm_conv)
(struct cdp_soc_t *soc,
struct cdp_rssi_db2dbm_param_dp *params);
#ifdef WLAN_TELEMETRY_STATS_SUPPORT
/*To update telemetry airtime stats in monitor pdev */
QDF_STATUS (*txrx_update_pdev_mon_telemetry_airtime_stats)
(struct cdp_soc_t *soc,
uint8_t pdev_id);
#endif
};
struct cdp_host_stats_ops {

View File

@@ -2841,7 +2841,8 @@ struct cdp_pdev_telemetry_stats {
* @tx_mpdu_total: Total tx mpdus
* @rx_mpdu_retried: Rx mpdus retried
* @rx_mpdu_total: Total rx mpdus
* @airtime_consumption: airtime consumption of that peer
* @tx_airtime_consumption: tx airtime consumption of that peer
* @rx_airtime_consumption: rx airtime consumption of that peer
* @snr: peer average snr
*/
struct cdp_peer_telemetry_stats {
@@ -2849,7 +2850,8 @@ struct cdp_peer_telemetry_stats {
uint32_t tx_mpdu_total;
uint32_t rx_mpdu_retried;
uint32_t rx_mpdu_total;
uint8_t airtime_consumption[WME_AC_MAX];
uint16_t tx_airtime_consumption[WME_AC_MAX];
uint16_t rx_airtime_consumption[WME_AC_MAX];
uint8_t snr;
};
#endif