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
This commit is contained in:

committed by
Madan Koyyalamudi

parent
5ec7c5416d
commit
47c7b5dfc8
@@ -44,6 +44,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CDP_MU_MAX_USERS 37
|
#define CDP_MU_MAX_USERS 37
|
||||||
|
#define CDP_MU_MAX_MIMO_USERS 8
|
||||||
/* 1 additional MCS is for invalid values */
|
/* 1 additional MCS is for invalid values */
|
||||||
#ifdef WLAN_FEATURE_11BE
|
#ifdef WLAN_FEATURE_11BE
|
||||||
#define MAX_MCS (16 + 1)
|
#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_chan_util: Channel utilization
|
||||||
* @ap_tx_util: TX utilization
|
* @ap_tx_util: TX utilization
|
||||||
* @ap_rx_util: RX utilization
|
* @ap_rx_util: RX utilization
|
||||||
@@ -3077,8 +3078,8 @@ struct cdp_pdev_ul_trigger_status {
|
|||||||
struct cdp_pdev_deter_stats {
|
struct cdp_pdev_deter_stats {
|
||||||
uint64_t dl_ofdma_usr[CDP_MU_MAX_USERS];
|
uint64_t dl_ofdma_usr[CDP_MU_MAX_USERS];
|
||||||
uint64_t ul_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 dl_mimo_usr[CDP_MU_MAX_MIMO_USERS];
|
||||||
uint64_t ul_mimo_usr[CDP_MU_MAX_USERS];
|
uint64_t ul_mimo_usr[CDP_MU_MAX_MIMO_USERS];
|
||||||
uint64_t dl_mode_cnt[TX_MODE_DL_MAX];
|
uint64_t dl_mode_cnt[TX_MODE_DL_MAX];
|
||||||
uint64_t ul_mode_cnt[TX_MODE_UL_MAX];
|
uint64_t ul_mode_cnt[TX_MODE_UL_MAX];
|
||||||
uint64_t rx_su_cnt;
|
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,
|
qdf_mem_copy(stats->ul_ofdma_usr, pdev->stats.deter_stats.ul_ofdma_usr,
|
||||||
sizeof(stats->ul_ofdma_usr[0]) * CDP_MU_MAX_USERS);
|
sizeof(stats->ul_ofdma_usr[0]) * CDP_MU_MAX_USERS);
|
||||||
qdf_mem_copy(stats->dl_mimo_usr, pdev->stats.deter_stats.dl_mimo_usr,
|
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,
|
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,
|
qdf_mem_copy(stats->ul_mode_cnt, pdev->stats.deter_stats.ul_mode_cnt,
|
||||||
sizeof(stats->ul_mode_cnt[0]) * TX_MODE_UL_MAX);
|
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,
|
dp_pdev_update_deter_stats(struct dp_pdev *pdev,
|
||||||
struct cdp_tx_completion_ppdu *ppdu)
|
struct cdp_tx_completion_ppdu *ppdu)
|
||||||
{
|
{
|
||||||
|
uint32_t user_idx;
|
||||||
|
|
||||||
if (!pdev || !ppdu)
|
if (!pdev || !ppdu)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (ppdu->txmode_type == TX_MODE_TYPE_UNKNOWN)
|
if (ppdu->txmode_type == TX_MODE_TYPE_UNKNOWN)
|
||||||
return;
|
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_valid) {
|
||||||
if (ppdu->backoff_ac >= WME_AC_MAX) {
|
if (ppdu->backoff_ac >= WME_AC_MAX) {
|
||||||
dp_mon_err("backoff_ac %d exceed max limit",
|
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,
|
DP_STATS_INC(pdev,
|
||||||
deter_stats.dl_mode_cnt[ppdu->txmode],
|
deter_stats.dl_mode_cnt[ppdu->txmode],
|
||||||
1);
|
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) {
|
switch (ppdu->txmode) {
|
||||||
case TX_MODE_DL_OFDMA_DATA:
|
case TX_MODE_DL_OFDMA_DATA:
|
||||||
DP_STATS_INC(pdev,
|
DP_STATS_INC(pdev,
|
||||||
deter_stats.dl_ofdma_usr[ppdu->num_users],
|
deter_stats.dl_ofdma_usr[user_idx],
|
||||||
1);
|
1);
|
||||||
break;
|
break;
|
||||||
case TX_MODE_DL_MUMIMO_DATA:
|
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,
|
DP_STATS_INC(pdev,
|
||||||
deter_stats.dl_mimo_usr[ppdu->num_users],
|
deter_stats.dl_mimo_usr[user_idx],
|
||||||
1);
|
1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2953,15 +2959,26 @@ dp_pdev_update_deter_stats(struct dp_pdev *pdev,
|
|||||||
DP_STATS_INC(pdev,
|
DP_STATS_INC(pdev,
|
||||||
deter_stats.ul_mode_cnt[ppdu->txmode],
|
deter_stats.ul_mode_cnt[ppdu->txmode],
|
||||||
1);
|
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) {
|
switch (ppdu->txmode) {
|
||||||
case TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA:
|
case TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA:
|
||||||
DP_STATS_INC(pdev,
|
DP_STATS_INC(pdev,
|
||||||
deter_stats.ul_ofdma_usr[ppdu->num_ul_users],
|
deter_stats.ul_ofdma_usr[user_idx],
|
||||||
1);
|
1);
|
||||||
break;
|
break;
|
||||||
case TX_MODE_UL_MUMIMO_BASIC_TRIGGER_DATA:
|
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,
|
DP_STATS_INC(pdev,
|
||||||
deter_stats.ul_mimo_usr[ppdu->num_ul_users],
|
deter_stats.ul_mimo_usr[user_idx],
|
||||||
1);
|
1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user