qcacmn: Add hal_rx_msdu_end_l3_hdr_padding_get API

Implement hal_rx_msdu_end_l3_hdr_padding_get API
based on the chipset as the macro to retrieve
sa_idx value is chipset dependent.

Change-Id: Ice1fc2d70e339dc1d80fa6f34f37c5a7aa074be5
CRs-Fixed: 2522133
This commit is contained in:
Venkata Sharath Chandra Manchala
2019-09-20 17:25:21 -07:00
committed by nshrivas
szülő 43d563277d
commit f05b2ae5c2
16 fájl változott, egészen pontosan 164 új sor hozzáadva és 19 régi sor törölve

Fájl megtekintése

@@ -103,10 +103,29 @@ static uint32_t hal_rx_desc_is_first_msdu_6490(void *hw_desc_addr)
return HAL_RX_GET(msdu_end, RX_MSDU_END_10, FIRST_MSDU);
}
/**
* hal_rx_msdu_end_l3_hdr_padding_get_6490(): API to get_6490 the
* l3_header padding from rx_msdu_end TLV
*
* @ buf: pointer to the start of RX PKT TLV headers
* Return: number of l3 header padding bytes
*/
static uint32_t hal_rx_msdu_end_l3_hdr_padding_get_6490(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;
uint32_t l3_header_padding;
l3_header_padding = HAL_RX_MSDU_END_L3_HEADER_PADDING_GET(msdu_end);
return l3_header_padding;
}
struct hal_hw_txrx_ops qca6490_hal_hw_txrx_ops = {
/* rx */
hal_rx_get_rx_fragment_number_6490,
hal_rx_msdu_end_da_is_mcbc_get_6490,
hal_rx_msdu_end_sa_is_valid_get_6490,
hal_rx_desc_is_first_msdu_6490,
hal_rx_msdu_end_l3_hdr_padding_get_6490,
};

Fájl megtekintése

@@ -39,3 +39,9 @@
RX_MSDU_END_11_SA_IDX_OFFSET)), \
RX_MSDU_END_11_SA_IDX_MASK, \
RX_MSDU_END_11_SA_IDX_LSB))
#define HAL_RX_MSDU_END_L3_HEADER_PADDING_GET(_rx_msdu_end) \
(_HAL_MS((*_OFFSET_TO_WORD_PTR(_rx_msdu_end, \
RX_MSDU_END_10_L3_HEADER_PADDING_OFFSET)), \
RX_MSDU_END_10_L3_HEADER_PADDING_MASK, \
RX_MSDU_END_10_L3_HEADER_PADDING_LSB))