qcacld-3.0: Use link info pointer to get rx peer stats

To get the peer Rx stats per link, modify the following API
to take link info argument which corresponds to the VDEV for
which the stats are to be fetched as saved in respective
stats structure in link info pointer.
The existing callers moved to deflink pointer.

1) wlan_hdd_get_peer_rx_rate_stats()

Change-Id: I0c3b1532ef9352f00d871b2c9b3073d72bef1bd4
CRs-Fixed: 3520672
此提交包含在:
Vinod Kumar Pirla
2023-02-24 11:39:11 -08:00
提交者 Rahul Choudhary
父節點 0450e3b41e
當前提交 437d62fb08
共有 4 個檔案被更改,包括 13 行新增16 行删除

查看文件

@@ -2447,7 +2447,7 @@ static int hdd_get_station_info_ex(struct wlan_hdd_link_info *link_info)
if (wlan_hdd_get_station_stats(link_info))
hdd_err_rl("wlan_hdd_get_station_stats fail");
wlan_hdd_get_peer_rx_rate_stats(adapter);
wlan_hdd_get_peer_rx_rate_stats(link_info);
if (big_data_stats_req) {
if (wlan_hdd_get_big_data_station_stats(link_info)) {

查看文件

@@ -2089,7 +2089,7 @@ static void cache_station_stats_cb(struct stats_event *ev, void *cookie)
continue;
}
copy_station_stats_to_adapter(adapter->deflink, ev);
wlan_hdd_get_peer_rx_rate_stats(adapter);
wlan_hdd_get_peer_rx_rate_stats(adapter->deflink);
/* dev_put has to be done here */
hdd_adapter_dev_put_debug(adapter, dbgid);
if (next_adapter)
@@ -6564,7 +6564,7 @@ static int wlan_hdd_get_sta_stats(struct wlan_hdd_link_info *link_info,
wlan_hdd_get_station_stats(link_info);
wlan_hdd_get_peer_rx_rate_stats(adapter);
wlan_hdd_get_peer_rx_rate_stats(link_info);
wlan_hdd_mlo_update_stats_info(adapter);
@@ -7657,16 +7657,16 @@ int wlan_hdd_get_link_speed(struct hdd_adapter *adapter, uint32_t *link_speed)
}
#ifdef FEATURE_RX_LINKSPEED_ROAM_TRIGGER
void wlan_hdd_get_peer_rx_rate_stats(struct hdd_adapter *adapter)
void wlan_hdd_get_peer_rx_rate_stats(struct wlan_hdd_link_info *link_info)
{
struct cdp_peer_stats *peer_stats;
QDF_STATUS status;
ol_txrx_soc_handle soc;
uint8_t *peer_mac_addr;
struct wlan_objmgr_psoc *psoc;
struct hdd_stats *hdd_stats = &adapter->deflink->hdd_stats;
struct hdd_stats *hdd_stats = &link_info->hdd_stats;
psoc = adapter->hdd_ctx->psoc;
psoc = link_info->adapter->hdd_ctx->psoc;
if (!ucfg_mlme_stats_is_link_speed_report_actual(psoc))
return;
@@ -7676,7 +7676,7 @@ void wlan_hdd_get_peer_rx_rate_stats(struct hdd_adapter *adapter)
if (!peer_stats)
return;
peer_mac_addr = adapter->deflink->session.station.conn_info.bssid.bytes;
peer_mac_addr = link_info->session.station.conn_info.bssid.bytes;
/*
* If failed to get RX rates info, assign an invalid value to the
@@ -7684,10 +7684,8 @@ void wlan_hdd_get_peer_rx_rate_stats(struct hdd_adapter *adapter)
* and rx_mcs_index are also assigned with tx_rate and tx_mcs_index
* if they are invalid after ASSOC/REASSOC/ROAMING
*/
status = cdp_host_get_peer_stats(soc,
adapter->deflink->vdev_id,
peer_mac_addr,
peer_stats);
status = cdp_host_get_peer_stats(soc, link_info->vdev_id,
peer_mac_addr, peer_stats);
if (qdf_unlikely(QDF_IS_STATUS_ERROR(status)) ||
qdf_unlikely(peer_stats->rx.last_rx_rate == 0)) {
hdd_debug("No rates, reporting max rate, rx mcs=%d, status=%d",

查看文件

@@ -500,7 +500,7 @@ int wlan_hdd_get_link_speed(struct hdd_adapter *adapter, uint32_t *link_speed);
#ifdef FEATURE_RX_LINKSPEED_ROAM_TRIGGER
/**
* wlan_hdd_get_peer_rx_rate_stats() - STA gets rx rate stats
* @adapter: adapter upon which the measurement is requested
* @link_info: Link info pointer in HDD adapter
*
* STA gets rx rate stats through using the existed API
* cdp_host_get_peer_stats. The reason that we make this
@@ -509,11 +509,10 @@ int wlan_hdd_get_link_speed(struct hdd_adapter *adapter, uint32_t *link_speed);
*
* Return: void
*/
void
wlan_hdd_get_peer_rx_rate_stats(struct hdd_adapter *adapter);
void wlan_hdd_get_peer_rx_rate_stats(struct wlan_hdd_link_info *link_info);
#else
static inline void
wlan_hdd_get_peer_rx_rate_stats(struct hdd_adapter *adapter)
wlan_hdd_get_peer_rx_rate_stats(struct wlan_hdd_link_info *link_info)
{
}
#endif

查看文件

@@ -7903,7 +7903,7 @@ static int hdd_get_wlan_stats(struct hdd_adapter *adapter)
{
int stats = wlan_hdd_get_station_stats(adapter->deflink);
wlan_hdd_get_peer_rx_rate_stats(adapter);
wlan_hdd_get_peer_rx_rate_stats(adapter->deflink);
return stats;
}