qcacmn: invoke hal api to populate word mask
Added hal api to populate word mask Change-Id: Ic13fdb1fa4104618d67f3f7aae25681951d78581 CRs-Fixed: 3422903
Cette révision appartient à :

révisé par
Madan Koyyalamudi

Parent
6d70bfb469
révision
799d46a277
@@ -1170,6 +1170,10 @@ int htt_h2t_tx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
|
||||
if (htt_tlv_filter->data_msdu_end)
|
||||
HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_END_DATA_SET(*msg_word, 1);
|
||||
|
||||
if (htt_tlv_filter->compaction_enable)
|
||||
HTT_TX_MONITOR_CFG_WORD_MASK_COMPACTION_ENABLE_SET(*msg_word,
|
||||
1);
|
||||
|
||||
/* word 3 */
|
||||
msg_word++;
|
||||
*msg_word = 0;
|
||||
@@ -1439,8 +1443,27 @@ void dp_tx_mon_filter_set_all(struct dp_mon_pdev_be *mon_pdev_be,
|
||||
void dp_tx_mon_filter_set_word_mask(struct dp_pdev *pdev,
|
||||
struct htt_tx_ring_tlv_filter *filter)
|
||||
{
|
||||
/* invoke hal api to get the word mask */
|
||||
hal_txmon_word_mask_config_t word_mask = {0};
|
||||
bool status = false;
|
||||
|
||||
status = hal_txmon_get_word_mask(pdev->soc->hal_soc, &word_mask);
|
||||
|
||||
if (status) {
|
||||
filter->wmask.pcu_ppdu_setup_init =
|
||||
word_mask.pcu_ppdu_setup_init;
|
||||
filter->wmask.tx_peer_entry = word_mask.tx_peer_entry;
|
||||
filter->wmask.tx_queue_ext = word_mask.tx_queue_ext;
|
||||
filter->wmask.tx_fes_status_end = word_mask.tx_fes_status_end;
|
||||
filter->wmask.response_end_status =
|
||||
word_mask.response_end_status;
|
||||
filter->wmask.tx_fes_status_prot = word_mask.tx_fes_status_prot;
|
||||
filter->wmask.tx_fes_setup = word_mask.tx_fes_setup;
|
||||
filter->wmask.tx_msdu_start = word_mask.tx_msdu_start;
|
||||
filter->wmask.tx_mpdu_start = word_mask.tx_mpdu_start;
|
||||
filter->wmask.rxpcu_user_setup = word_mask.rxpcu_user_setup;
|
||||
|
||||
filter->compaction_enable = word_mask.compaction_enable;
|
||||
} else {
|
||||
filter->wmask.pcu_ppdu_setup_init = 0xFFFFFFFF;
|
||||
filter->wmask.tx_peer_entry = 0xFFFF;
|
||||
filter->wmask.tx_queue_ext = 0xFFFF;
|
||||
@@ -1454,6 +1477,7 @@ void dp_tx_mon_filter_set_word_mask(struct dp_pdev *pdev,
|
||||
|
||||
/* compaction is disable */
|
||||
filter->compaction_enable = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void dp_mon_filter_setup_tx_mon_mode_2_0(struct dp_pdev *pdev)
|
||||
@@ -2790,20 +2814,28 @@ static
|
||||
void dp_tx_mon_wordmask_config_set(struct htt_tx_ring_tlv_filter *dst_filter,
|
||||
struct htt_tx_ring_tlv_filter *src_filter)
|
||||
{
|
||||
dst_filter->wmask.tx_fes_setup |=
|
||||
src_filter->wmask.tx_fes_setup;
|
||||
dst_filter->wmask.pcu_ppdu_setup_init |=
|
||||
src_filter->wmask.pcu_ppdu_setup_init;
|
||||
dst_filter->wmask.tx_peer_entry |=
|
||||
src_filter->wmask.tx_peer_entry;
|
||||
dst_filter->wmask.tx_queue_ext |=
|
||||
src_filter->wmask.tx_queue_ext;
|
||||
dst_filter->wmask.tx_fes_status_end |=
|
||||
src_filter->wmask.tx_fes_status_end;
|
||||
dst_filter->wmask.response_end_status |=
|
||||
src_filter->wmask.response_end_status;
|
||||
dst_filter->wmask.tx_fes_status_prot |=
|
||||
src_filter->wmask.tx_fes_status_prot;
|
||||
dst_filter->wmask.tx_fes_setup |=
|
||||
src_filter->wmask.tx_fes_setup;
|
||||
dst_filter->wmask.tx_msdu_start |=
|
||||
src_filter->wmask.tx_msdu_start;
|
||||
dst_filter->wmask.tx_mpdu_start |=
|
||||
src_filter->wmask.tx_mpdu_start;
|
||||
dst_filter->wmask.pcu_ppdu_setup_init |=
|
||||
src_filter->wmask.pcu_ppdu_setup_init;
|
||||
dst_filter->wmask.rxpcu_user_setup |=
|
||||
src_filter->wmask.rxpcu_user_setup;
|
||||
dst_filter->compaction_enable |=
|
||||
src_filter->compaction_enable;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1434,20 +1434,20 @@ hal_tx_status_get_tlv_tag(void *tx_tlv_hdr)
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_txmon_set_word_mask() - api to set word mask for tx monitor
|
||||
* hal_txmon_get_word_mask() - api to get word mask for tx monitor
|
||||
* @hal_soc_hdl: HAL soc handle
|
||||
* @wmask: pointer to hal_txmon_word_mask_config_t
|
||||
*
|
||||
* Return: bool
|
||||
*/
|
||||
static inline bool
|
||||
hal_txmon_set_word_mask(hal_soc_handle_t hal_soc_hdl,
|
||||
hal_txmon_get_word_mask(hal_soc_handle_t hal_soc_hdl,
|
||||
hal_txmon_word_mask_config_t *wmask)
|
||||
{
|
||||
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
|
||||
|
||||
if (hal_soc->ops->hal_txmon_set_word_mask) {
|
||||
hal_soc->ops->hal_txmon_set_word_mask(wmask);
|
||||
if (hal_soc->ops->hal_txmon_get_word_mask) {
|
||||
hal_soc->ops->hal_txmon_get_word_mask(wmask);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -1381,13 +1381,13 @@ hal_txmon_status_get_num_users_generic_be(void *tx_tlv_hdr, uint8_t *num_users)
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_txmon_set_word_mask_generic_be() - api to set word mask for tx monitor
|
||||
* hal_txmon_get_word_mask_generic_be() - api to get word mask for tx monitor
|
||||
* @wmask: pointer to hal_txmon_word_mask_config_t
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline
|
||||
void hal_txmon_set_word_mask_generic_be(void *wmask)
|
||||
void hal_txmon_get_word_mask_generic_be(void *wmask)
|
||||
{
|
||||
hal_txmon_word_mask_config_t *word_mask = NULL;
|
||||
|
||||
|
@@ -1329,7 +1329,7 @@ struct hal_hw_txrx_ops {
|
||||
qdf_frag_t status_frag);
|
||||
uint32_t (*hal_txmon_status_get_num_users)(void *tx_tlv_hdr,
|
||||
uint8_t *num_users);
|
||||
void (*hal_txmon_set_word_mask)(void *wmask);
|
||||
void (*hal_txmon_get_word_mask)(void *wmask);
|
||||
#endif /* QCA_MONITOR_2_0_SUPPORT */
|
||||
QDF_STATUS (*hal_reo_shared_qaddr_setup)(hal_soc_handle_t hal_soc_hdl,
|
||||
struct reo_queue_ref_table
|
||||
|
@@ -1780,11 +1780,11 @@ static void hal_hw_txrx_ops_attach_qcn9224(struct hal_soc *hal_soc)
|
||||
hal_soc->ops->hal_txmon_status_get_num_users =
|
||||
hal_txmon_status_get_num_users_generic_be;
|
||||
#if defined(TX_MONITOR_WORD_MASK)
|
||||
hal_soc->ops->hal_txmon_set_word_mask =
|
||||
hal_txmon_set_word_mask_qcn9224;
|
||||
hal_soc->ops->hal_txmon_get_word_mask =
|
||||
hal_txmon_get_word_mask_qcn9224;
|
||||
#else
|
||||
hal_soc->ops->hal_txmon_set_word_mask =
|
||||
hal_txmon_set_word_mask_generic_be;
|
||||
hal_soc->ops->hal_txmon_get_word_mask =
|
||||
hal_txmon_get_word_mask_generic_be;
|
||||
#endif /* TX_MONITOR_WORD_MASK */
|
||||
#endif /* QCA_MONITOR_2_0_SUPPORT */
|
||||
hal_soc->ops->hal_compute_reo_remap_ix0 = NULL;
|
||||
|
@@ -531,13 +531,13 @@ struct pcu_ppdu_setup_init_compact_9224 {
|
||||
};
|
||||
|
||||
/**
|
||||
* hal_txmon_set_word_mask_qcn9224() - api to set word mask for tx monitor
|
||||
* hal_txmon_get_word_mask_qcn9224() - api to get word mask for tx monitor
|
||||
* @wmask: pointer to hal_txmon_word_mask_config_t
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline
|
||||
void hal_txmon_set_word_mask_qcn9224(void *wmask)
|
||||
void hal_txmon_get_word_mask_qcn9224(void *wmask)
|
||||
{
|
||||
hal_txmon_word_mask_config_t *word_mask = NULL;
|
||||
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur