qcacmn: initialize BE specific HAL API callbacks

certain BE specific HAL APIs were only initialized for
KIWI chipset but not for WKK. Now moved all these APIs
under beryllium generic initialization.

These APIs are mainly used in de-frag pkt handling.

CRs-Fixed: 3294784
Change-Id: I6611f1b7ef80b432d24a490ba65880dd55539137
This commit is contained in:
Tallapragada Kalyan
2022-09-19 23:03:53 +05:30
committed by Madan Koyyalamudi
parent 52c19ba631
commit 27da15777b
6 changed files with 27 additions and 15 deletions

View File

@@ -1386,9 +1386,10 @@ static QDF_STATUS dp_rx_defrag_reo_reinject(struct dp_txrx_peer *txrx_peer,
qdf_mem_zero(ent_mpdu_desc_info, sizeof(uint32_t));
mpdu_wrd = (uint32_t *)dst_mpdu_desc_info;
seq_no = hal_rx_get_rx_sequence(soc->hal_soc, qdf_nbuf_data(head));
seq_no = hal_rx_get_rx_sequence(soc->hal_soc, rx_desc->rx_buf_start);
hal_mpdu_desc_info_set(soc->hal_soc, ent_mpdu_desc_info, seq_no);
hal_mpdu_desc_info_set(soc->hal_soc, ent_ring_desc, ent_mpdu_desc_info,
seq_no);
/* qdesc addr */
ent_qdesc_addr = hal_get_reo_ent_desc_qdesc_addr(soc->hal_soc,
(uint8_t *)ent_ring_desc);

View File

@@ -24,6 +24,7 @@
#include "hal_tx.h" //HAL_SET_FLD
#include "hal_be_rx.h" //HAL_RX_BUF_RBM_GET
#include "rx_reo_queue_1k.h"
#include "hal_be_rx_tlv.h"
/*
* The 4 bits REO destination ring value is defined as: 0: TCL
@@ -640,10 +641,16 @@ hal_msdu_desc_info_set_be(hal_soc_handle_t hal_soc_hdl,
static inline void
hal_mpdu_desc_info_set_be(hal_soc_handle_t hal_soc_hdl,
void *mpdu_desc, uint32_t seq_no)
void *ent_desc,
void *mpdu_desc,
uint32_t seq_no)
{
struct rx_mpdu_desc_info *mpdu_desc_info =
(struct rx_mpdu_desc_info *)mpdu_desc;
uint8_t *desc = (uint8_t *)ent_desc;
HAL_RX_FLD_SET(desc, REO_ENTRANCE_RING,
MPDU_SEQUENCE_NUMBER, seq_no);
HAL_RX_MPDU_DESC_INFO_SET(mpdu_desc_info,
MSDU_COUNT, 0x1);
@@ -958,4 +965,10 @@ void hal_hw_txrx_default_ops_attach_be(struct hal_soc *hal_soc)
hal_soc->ops->hal_register_reo_send_cmd = hal_register_reo_send_cmd_be;
hal_soc->ops->hal_reset_rx_reo_tid_q = hal_reset_rx_reo_tid_q_be;
#endif
hal_soc->ops->hal_rx_tlv_get_pn_num = hal_rx_tlv_get_pn_num_be;
hal_soc->ops->hal_rx_get_qdesc_addr = hal_rx_get_qdesc_addr_be;
hal_soc->ops->hal_set_reo_ent_desc_reo_dest_ind =
hal_set_reo_ent_desc_reo_dest_ind_be;
hal_soc->ops->hal_get_reo_ent_desc_qdesc_addr =
hal_get_reo_ent_desc_qdesc_addr_be;
}

View File

@@ -1084,7 +1084,9 @@ struct hal_hw_txrx_ops {
void *msdu_desc_info, uint32_t dst_ind,
uint32_t nbuf_len);
void (*hal_mpdu_desc_info_set)(hal_soc_handle_t hal_soc_hdl,
void *mpdu_desc_info, uint32_t seq_no);
void *ent_desc,
void *mpdu_desc_info,
uint32_t seq_no);
#ifdef DP_UMAC_HW_RESET_SUPPORT
void (*hal_unregister_reo_send_cmd)(struct hal_soc *hal_soc);
void (*hal_register_reo_send_cmd)(struct hal_soc *hal_soc);

View File

@@ -2710,13 +2710,15 @@ hal_rx_tlv_get_freq(hal_soc_handle_t hal_soc_hdl, uint8_t *buf)
}
static inline void hal_mpdu_desc_info_set(hal_soc_handle_t hal_soc_hdl,
void *mpdu_desc_info, uint32_t val)
void *desc,
void *mpdu_desc_info,
uint32_t val)
{
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
if (hal_soc->ops->hal_mpdu_desc_info_set)
return hal_soc->ops->hal_mpdu_desc_info_set(
hal_soc_hdl, mpdu_desc_info, val);
hal_soc_hdl, desc, mpdu_desc_info, val);
}
static inline void hal_msdu_desc_info_set(hal_soc_handle_t hal_soc_hdl,

View File

@@ -2265,14 +2265,6 @@ static void hal_hw_txrx_ops_attach_kiwi(struct hal_soc *hal_soc)
hal_rx_msdu_start_msdu_len_set_be;
hal_soc->ops->hal_rx_tlv_populate_mpdu_desc_info =
hal_rx_tlv_populate_mpdu_desc_info_kiwi;
hal_soc->ops->hal_rx_tlv_get_pn_num =
hal_rx_tlv_get_pn_num_be;
hal_soc->ops->hal_get_reo_ent_desc_qdesc_addr =
hal_get_reo_ent_desc_qdesc_addr_be;
hal_soc->ops->hal_rx_get_qdesc_addr =
hal_rx_get_qdesc_addr_be;
hal_soc->ops->hal_set_reo_ent_desc_reo_dest_ind =
hal_set_reo_ent_desc_reo_dest_ind_be;
hal_soc->ops->hal_get_idle_link_bm_id = hal_get_idle_link_bm_id_kiwi;
#ifdef WLAN_FEATURE_MARK_FIRST_WAKEUP_PACKET
hal_soc->ops->hal_get_first_wow_wakeup_packet =

View File

@@ -1022,7 +1022,9 @@ hal_rx_msdu_reo_dst_ind_get_li(hal_soc_handle_t hal_soc_hdl,
static inline void
hal_mpdu_desc_info_set_li(hal_soc_handle_t hal_soc_hdl,
void *mpdu_desc, uint32_t seq_no)
void *ent_desc,
void *mpdu_desc,
uint32_t seq_no)
{
struct rx_mpdu_desc_info *mpdu_desc_info =
(struct rx_mpdu_desc_info *)mpdu_desc;