qcacld-3.0: Avoid target wake up for multiple get stats req

If get stats request has been fetched recently then avoid target
wake up for next subsequent get stats req by returning cached
station stats.

Change-Id: I3aba4fdc7966a5e9e4ff38003bb80ebd7a3178f1
CRs-Fixed: 2833838
This commit is contained in:
Rajeev Kumar 2020-11-10 14:31:18 -08:00 • committed by snandini
commit 248a0600d6

View file

@ -185,6 +185,20 @@ static int rssi_mcs_tbl[][14] = {
static bool get_station_fw_request_needed = true;
#ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION
static void
hdd_update_station_stats_cached_timestamp(struct hdd_adapter *adapter)
{
adapter->hdd_stats.sta_stats_cached_timestamp =
qdf_system_ticks_to_msecs(qdf_system_ticks());
}
#else
static void
hdd_update_station_stats_cached_timestamp(struct hdd_adapter *adapter)
{
}
#endif /* FEATURE_CLUB_LL_STATS_AND_GET_STATION */
#ifdef WLAN_FEATURE_LINK_LAYER_STATS
/**
@ -1579,20 +1593,6 @@ static void wlan_hdd_dealloc_ll_stats(void *priv)
qdf_list_destroy(&ll_stats_priv->ll_stats_q);
}
#ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION
static void
hdd_update_station_stats_cached_timestamp(struct hdd_adapter *adapter)
{
adapter->hdd_stats.sta_stats_cached_timestamp =
qdf_system_ticks_to_msecs(qdf_system_ticks());
}
#else
static void
hdd_update_station_stats_cached_timestamp(struct hdd_adapter *adapter)
{
}
#endif /* FEATURE_CLUB_LL_STATS_AND_GET_STATION */
/*
* copy_station_stats_to_adapter() - Copy station stats to adapter
* @adapter: Pointer to the adapter
@ -6448,6 +6448,8 @@ int wlan_hdd_get_station_stats(struct hdd_adapter *adapter)
goto out;
}
/* update get stats cached time stamp */
hdd_update_station_stats_cached_timestamp(adapter);
copy_station_stats_to_adapter(adapter, stats);
wlan_cfg80211_mc_cp_stats_free_stats_event(stats);