qcacmn: Add hal_rx_msdu_end_sa_is_valid_get API

Implement hal_rx_msdu_end_sa_is_valid_get API
based on the chipset as the macro to retrieve
sa_idx valid bit is chipset dependent.

Change-Id: I8bcb7030554331922ed12ea9da3ef51cd64b5c40
CRs-Fixed: 2522133
This commit is contained in:
Venkata Sharath Chandra Manchala
2019-09-20 15:52:55 -07:00
committato da nshrivas
parent ee90938f62
commit 59ebd5ee0c
15 ha cambiato i file con 159 aggiunte e 16 eliminazioni

Vedi File

@@ -139,6 +139,24 @@ hal_rx_msdu_end_da_is_mcbc_get_8074v1(uint8_t *buf)
return HAL_RX_MSDU_END_DA_IS_MCBC_GET(msdu_end);
}
/**
* hal_rx_msdu_end_sa_is_valid_get_8074v1(): API to get_8074v1 the
* sa_is_valid bit from rx_msdu_end TLV
*
* @ buf: pointer to the start of RX PKT TLV headers
* Return: sa_is_valid bit
*/
static uint8_t
hal_rx_msdu_end_sa_is_valid_get_8074v1(uint8_t *buf)
{
struct rx_pkt_tlvs *pkt_tlvs = (struct rx_pkt_tlvs *)buf;
struct rx_msdu_end *msdu_end = &pkt_tlvs->msdu_end_tlv.rx_msdu_end;
uint8_t sa_is_valid;
sa_is_valid = HAL_RX_MSDU_END_SA_IS_VALID_GET(msdu_end);
return sa_is_valid;
}
struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
/* init and setup */
@@ -183,6 +201,7 @@ struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
hal_tx_update_tidmap_prty_generic,
hal_rx_get_rx_fragment_number_8074v1,
hal_rx_msdu_end_da_is_mcbc_get_8074v1,
hal_rx_msdu_end_sa_is_valid_get_8074v1,
};
struct hal_hw_srng_config hw_srng_table_8074[] = {

Vedi File

@@ -36,6 +36,11 @@
RX_MSDU_END_5_DA_IS_MCBC_MASK, \
RX_MSDU_END_5_DA_IS_MCBC_LSB))
#define HAL_RX_MSDU_END_SA_IS_VALID_GET(_rx_msdu_end) \
(_HAL_MS((*_OFFSET_TO_WORD_PTR(_rx_msdu_end, \
RX_MSDU_END_5_SA_IS_VALID_OFFSET)), \
RX_MSDU_END_5_SA_IS_VALID_MASK, \
RX_MSDU_END_5_SA_IS_VALID_LSB))
/*
* hal_rx_msdu_start_nss_get_8074(): API to get the NSS
* Interval from rx_msdu_start