qcacmn: Reduce mimo users to 8

Reduce array size to 8 for ul/dl mimo users
for deterministic stats

CRs-Fixed: 3408802
Change-Id: I055aa195e514eb1fe74161ef61119f7c8ddad478
Cette révision appartient à :
aloksing
2023-02-15 22:20:47 +05:30
révisé par Madan Koyyalamudi
Parent 5ec7c5416d
révision 47c7b5dfc8
3 fichiers modifiés avec 33 ajouts et 15 suppressions

Voir le fichier

@@ -44,6 +44,7 @@
#endif
#define CDP_MU_MAX_USERS 37
#define CDP_MU_MAX_MIMO_USERS 8
/* 1 additional MCS is for invalid values */
#ifdef WLAN_FEATURE_11BE
#define MAX_MCS (16 + 1)
@@ -3040,7 +3041,7 @@ struct cdp_peer_deter_stats {
};
/**
* struct cdp_pdev_chan_util_stats - pdev channel utilization stats
* struct cdp_pdev_chan_util_stats- Structure to hold channel utilization stats
* @ap_chan_util: Channel utilization
* @ap_tx_util: TX utilization
* @ap_rx_util: RX utilization
@@ -3077,8 +3078,8 @@ struct cdp_pdev_ul_trigger_status {
struct cdp_pdev_deter_stats {
uint64_t dl_ofdma_usr[CDP_MU_MAX_USERS];
uint64_t ul_ofdma_usr[CDP_MU_MAX_USERS];
uint64_t dl_mimo_usr[CDP_MU_MAX_USERS];
uint64_t ul_mimo_usr[CDP_MU_MAX_USERS];
uint64_t dl_mimo_usr[CDP_MU_MAX_MIMO_USERS];
uint64_t ul_mimo_usr[CDP_MU_MAX_MIMO_USERS];
uint64_t dl_mode_cnt[TX_MODE_DL_MAX];
uint64_t ul_mode_cnt[TX_MODE_UL_MAX];
uint64_t rx_su_cnt;

Voir le fichier

@@ -9406,9 +9406,9 @@ dp_get_pdev_deter_stats(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
qdf_mem_copy(stats->ul_ofdma_usr, pdev->stats.deter_stats.ul_ofdma_usr,
sizeof(stats->ul_ofdma_usr[0]) * CDP_MU_MAX_USERS);
qdf_mem_copy(stats->dl_mimo_usr, pdev->stats.deter_stats.dl_mimo_usr,
sizeof(stats->dl_mimo_usr[0]) * CDP_MU_MAX_USERS);
sizeof(stats->dl_mimo_usr[0]) * CDP_MU_MAX_MIMO_USERS);
qdf_mem_copy(stats->ul_mimo_usr, pdev->stats.deter_stats.ul_mimo_usr,
sizeof(stats->ul_mimo_usr[0]) * CDP_MU_MAX_USERS);
sizeof(stats->ul_mimo_usr[0]) * CDP_MU_MAX_MIMO_USERS);
qdf_mem_copy(stats->ul_mode_cnt, pdev->stats.deter_stats.ul_mode_cnt,
sizeof(stats->ul_mode_cnt[0]) * TX_MODE_UL_MAX);

Voir le fichier

@@ -2910,18 +2910,14 @@ static inline void
dp_pdev_update_deter_stats(struct dp_pdev *pdev,
struct cdp_tx_completion_ppdu *ppdu)
{
uint32_t user_idx;
if (!pdev || !ppdu)
return;
if (ppdu->txmode_type == TX_MODE_TYPE_UNKNOWN)
return;
if (ppdu->num_ul_users >= HAL_MAX_UL_MU_USERS ||
ppdu->num_users >= HAL_MAX_UL_MU_USERS) {
dp_mon_err("num ul user %d or num users %d exceeds max limit",
ppdu->num_ul_users, ppdu->num_users);
return;
}
if (ppdu->backoff_ac_valid) {
if (ppdu->backoff_ac >= WME_AC_MAX) {
dp_mon_err("backoff_ac %d exceed max limit",
@@ -2937,15 +2933,25 @@ dp_pdev_update_deter_stats(struct dp_pdev *pdev,
DP_STATS_INC(pdev,
deter_stats.dl_mode_cnt[ppdu->txmode],
1);
if (!ppdu->num_users) {
dp_mon_err("dl users is %d", ppdu->num_users);
return;
}
user_idx = ppdu->num_users - 1;
switch (ppdu->txmode) {
case TX_MODE_DL_OFDMA_DATA:
DP_STATS_INC(pdev,
deter_stats.dl_ofdma_usr[ppdu->num_users],
deter_stats.dl_ofdma_usr[user_idx],
1);
break;
case TX_MODE_DL_MUMIMO_DATA:
if (user_idx >= CDP_MU_MAX_MIMO_USERS) {
dp_mon_err("dl mimo users %d exceed max limit",
ppdu->num_users);
return;
}
DP_STATS_INC(pdev,
deter_stats.dl_mimo_usr[ppdu->num_users],
deter_stats.dl_mimo_usr[user_idx],
1);
break;
}
@@ -2953,15 +2959,26 @@ dp_pdev_update_deter_stats(struct dp_pdev *pdev,
DP_STATS_INC(pdev,
deter_stats.ul_mode_cnt[ppdu->txmode],
1);
if (!ppdu->num_ul_users) {
dp_mon_err("dl users is %d", ppdu->num_ul_users);
return;
}
user_idx = ppdu->num_ul_users - 1;
switch (ppdu->txmode) {
case TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA:
DP_STATS_INC(pdev,
deter_stats.ul_ofdma_usr[ppdu->num_ul_users],
deter_stats.ul_ofdma_usr[user_idx],
1);
break;
case TX_MODE_UL_MUMIMO_BASIC_TRIGGER_DATA:
if (user_idx >= CDP_MU_MAX_MIMO_USERS) {
dp_mon_err("ul mimo users %d exceed max limit",
ppdu->num_ul_users);
return;
}
DP_STATS_INC(pdev,
deter_stats.ul_mimo_usr[ppdu->num_ul_users],
deter_stats.ul_mimo_usr[user_idx],
1);
break;
}