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 à :

révisé par
Madan Koyyalamudi

Parent
52c19ba631
révision
27da15777b
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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,
|
||||
|
@@ -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 =
|
||||
|
@@ -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;
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur