qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats

Extract manual ulofdma trigger bit as part of rx ppdu stats per user
update process

Change-Id: I2a697f91e572f88a36f96085d15c90c679deaf0c
CRs-Fixed: 3418677
This commit is contained in:
Narayan Subramhanyan
2023-02-27 20:07:47 +05:30
committed by Madan Koyyalamudi
parent 20db7b641f
commit 4c942e661a
3 changed files with 29 additions and 2 deletions

View File

@@ -2496,6 +2496,7 @@ struct cdp_tx_completion_msdu {
* @ofdma_ru_width: size of RU in units of 1(26tone)RU * @ofdma_ru_width: size of RU in units of 1(26tone)RU
* @nss: NSS 1,2, ...8 * @nss: NSS 1,2, ...8
* @mcs: MCS index * @mcs: MCS index
* @is_manual_ulofdma_trig: manual ulofdma trig or not?
* @user_index: user ID in multi-user case * @user_index: user ID in multi-user case
* @is_bss_peer: is bss peer check * @is_bss_peer: is bss peer check
* @ast_index: ast index in multi-user case * @ast_index: ast index in multi-user case
@@ -2534,7 +2535,13 @@ struct cdp_rx_stats_ppdu_user {
ofdma_ru_start_index:7, ofdma_ru_start_index:7,
ofdma_ru_width:7, ofdma_ru_width:7,
nss:4, nss:4,
mcs:4; mcs:4,
#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
is_manual_ulofdma_trig:1,
reserved:8;
#else
reserved:9;
#endif
/* user id */ /* user id */
uint8_t user_index; uint8_t user_index;
uint8_t is_bss_peer; uint8_t is_bss_peer;

View File

@@ -398,6 +398,23 @@ dp_rx_inc_rusize_cnt(struct dp_pdev *pdev,
return is_data; return is_data;
} }
#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
static inline void
dp_rx_update_manual_ulofdma_trig(struct mon_rx_user_status *rx_user_status,
struct cdp_rx_stats_ppdu_user *user)
{
user->is_manual_ulofdma_trig =
HTT_UL_OFDMA_USER_INFO_V0_W0_MANUAL_ULOFDMA_TRIG_GET(
rx_user_status->mu_ul_user_v0_word0);
}
#else
static inline void
dp_rx_update_manual_ulofdma_trig(struct mon_rx_user_status *rx_user_status,
struct cdp_rx_stats_ppdu_user *user)
{
}
#endif
/** /**
* dp_rx_populate_cdp_indication_ppdu_user() - Populate per user cdp indication * dp_rx_populate_cdp_indication_ppdu_user() - Populate per user cdp indication
* @pdev: pdev ctx * @pdev: pdev ctx
@@ -502,6 +519,9 @@ dp_rx_populate_cdp_indication_ppdu_user(struct dp_pdev *pdev,
rx_stats_peruser->vdev_id = peer->vdev->vdev_id; rx_stats_peruser->vdev_id = peer->vdev->vdev_id;
rx_stats_peruser->mu_ul_info_valid = 0; rx_stats_peruser->mu_ul_info_valid = 0;
dp_rx_update_manual_ulofdma_trig(rx_user_status,
rx_stats_peruser);
mon_ops = dp_mon_ops_get(soc); mon_ops = dp_mon_ops_get(soc);
if (mon_ops && mon_ops->mon_rx_populate_ppdu_usr_info) if (mon_ops && mon_ops->mon_rx_populate_ppdu_usr_info)
mon_ops->mon_rx_populate_ppdu_usr_info(rx_user_status, mon_ops->mon_rx_populate_ppdu_usr_info(rx_user_status,

View File

@@ -746,7 +746,7 @@ hal_be_get_mon_dest_status(hal_soc_handle_t hal_soc,
} }
#endif #endif
#if defined(RX_PPDU_END_USER_STATS_OFDMA_INFO_VALID_OFFSET) && \ #if defined(RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_OFFSET) && \
defined(RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_OFFSET) defined(RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_OFFSET)
static inline void static inline void