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
Cette révision appartient à :
Tallapragada Kalyan
2022-09-19 23:03:53 +05:30
révisé par Madan Koyyalamudi
Parent 52c19ba631
révision 27da15777b
6 fichiers modifiés avec 27 ajouts et 15 suppressions

Voir le fichier

@@ -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);

Voir le fichier

@@ -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;
}

Voir le fichier

@@ -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);

Voir le fichier

@@ -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,

Voir le fichier

@@ -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 =

Voir le fichier

@@ -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;