qcacmn: Read ppdu_id from reo_entrance ring

For qcn9000, As part HW enhancements, PPDU_ID is sent
in reo_entrance_ring descriptor instead of RX_MPDU_START
tlv. Add support to read ppdu id from descriptor.
Modify existing hal API hal_rx_hw_desc_get_ppduid_get ()
arguments to pass RxDMA ring HW descriptor.

Usage:
 a. Use hal_rx_hw_desc_get_ppduid_get () -
    to get ppdu id from rx_tlv_hdr or hw descriptor based on target.
    for qcn9000, this API gets ppdu_id from HW descriptor,
    for other platforms, gets ppdu_id from rx_tv_hdr
 b. Use hal_rx_get_ppdu_id () - to get ppdu_id from rx_tlv_hdr

Change-Id: I5838227c12cde50cbb2a9da7a0d8056b8b9b7ef5
This commit is contained in:
Amir Patel
2020-02-11 00:25:29 +05:30
committed by nshrivas
parent fed4bfb049
commit b8e9bcdf4c
10 changed files with 146 additions and 36 deletions

View File

@@ -432,7 +432,8 @@ struct hal_hw_txrx_ops {
uint8_t (*hal_rx_get_mpdu_sequence_control_valid)(uint8_t *buf);
bool (*hal_rx_is_unicast)(uint8_t *buf);
uint32_t (*hal_rx_tid_get)(hal_soc_handle_t hal_soc_hdl, uint8_t *buf);
uint32_t (*hal_rx_hw_desc_get_ppduid_get)(void *hw_desc_addr);
uint32_t (*hal_rx_hw_desc_get_ppduid_get)(void *rx_tlv_hdr,
void *rxdma_dst_ring_desc);
uint32_t (*hal_rx_mpdu_start_mpdu_qos_control_valid_get)(uint8_t *buf);
uint32_t (*hal_rx_msdu_end_sa_sw_peer_id_get)(uint8_t *buf);
void * (*hal_rx_msdu0_buffer_addr_lsb)(void *link_desc_addr);
@@ -470,6 +471,7 @@ struct hal_hw_txrx_ops {
bool (*hal_rx_get_fisa_flow_agg_continuation)(uint8_t *buf);
uint8_t (*hal_rx_get_fisa_flow_agg_count)(uint8_t *buf);
bool (*hal_rx_get_fisa_timeout)(uint8_t *buf);
uint8_t (*hal_rx_mpdu_start_tlv_tag_valid)(void *rx_tlv_hdr);
};
/**