qcacmn: Add hal_rx_mpdu_get_fr_ds API

Implement hal_rx_mpdu_get_fr_ds API
based on the chipset as the macro to
retrieve for_ds value is chipset
dependent.

Change-Id: I6d41d02ac50cae752567d98645f0447cc122a84f
CRs-Fixed: 2522133
This commit is contained in:
Venkata Sharath Chandra Manchala
2019-09-21 13:15:09 -07:00
committed by nshrivas
parent e7924fd2da
commit 1e3a479fdf
15 changed files with 155 additions and 20 deletions

View File

@@ -356,6 +356,23 @@ static uint32_t hal_rx_mpdu_get_to_ds_8074v1(uint8_t *buf)
return HAL_RX_MPDU_GET_TODS(mpdu_info);
}
/*
* hal_rx_mpdu_get_fr_ds_8074v1(): API to get the from ds info
* from rx_mpdu_start
*
* @buf: pointer to the start of RX PKT TLV header
* Return: uint32_t(fr_ds)
*/
static uint32_t hal_rx_mpdu_get_fr_ds_8074v1(uint8_t *buf)
{
struct rx_pkt_tlvs *pkt_tlvs = (struct rx_pkt_tlvs *)buf;
struct rx_mpdu_start *mpdu_start =
&pkt_tlvs->mpdu_start_tlv.rx_mpdu_start;
struct rx_mpdu_info *mpdu_info = &mpdu_start->rx_mpdu_info_details;
return HAL_RX_MPDU_GET_FROMDS(mpdu_info);
}
struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
/* init and setup */
@@ -412,6 +429,7 @@ struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
hal_rx_get_mpdu_mac_ad4_valid_8074v1,
hal_rx_mpdu_start_sw_peer_id_get_8074v1,
hal_rx_mpdu_get_to_ds_8074v1,
hal_rx_mpdu_get_fr_ds_8074v1,
};
struct hal_hw_srng_config hw_srng_table_8074[] = {

View File

@@ -119,6 +119,12 @@
RX_MPDU_INFO_2_TO_DS_OFFSET)), \
RX_MPDU_INFO_2_TO_DS_MASK, \
RX_MPDU_INFO_2_TO_DS_LSB))
#define HAL_RX_MPDU_GET_FROMDS(_rx_mpdu_info) \
(_HAL_MS((*_OFFSET_TO_WORD_PTR(_rx_mpdu_info, \
RX_MPDU_INFO_2_FR_DS_OFFSET)), \
RX_MPDU_INFO_2_FR_DS_MASK, \
RX_MPDU_INFO_2_FR_DS_LSB))
/*
* hal_rx_msdu_start_nss_get_8074(): API to get the NSS
* Interval from rx_msdu_start