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 à :

révisé par
Madan Koyyalamudi

Parent
5ec7c5416d
révision
47c7b5dfc8
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur