diff --git a/hal/wifi3.0/hal_generic_api.h b/hal/wifi3.0/hal_generic_api.h index b4a1dd72af..89518c2d4f 100644 --- a/hal/wifi3.0/hal_generic_api.h +++ b/hal/wifi3.0/hal_generic_api.h @@ -1380,19 +1380,15 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo, uint8_t *rx_mpdu_start = (uint8_t *)rx_tlv + HAL_RX_OFFSET(UNIFIED_RX_MPDU_START_0, RX_MPDU_INFO_RX_MPDU_INFO_DETAILS); - uint32_t ppdu_id = HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, - PHY_PPDU_ID); + uint32_t ppdu_id = + HAL_RX_GET_PPDU_ID(rx_mpdu_start); uint8_t filter_category = 0; ppdu_info->nac_info.fc_valid = - HAL_RX_GET(rx_mpdu_start, - RX_MPDU_INFO_2, - MPDU_FRAME_CONTROL_VALID); + HAL_RX_GET_FC_VALID(rx_mpdu_start); ppdu_info->nac_info.to_ds_flag = - HAL_RX_GET(rx_mpdu_start, - RX_MPDU_INFO_2, - TO_DS); + HAL_RX_GET_TO_DS_FLAG(rx_mpdu_start); ppdu_info->nac_info.frame_control = HAL_RX_GET(rx_mpdu_start, @@ -1400,9 +1396,7 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo, MPDU_FRAME_CONTROL_FIELD); ppdu_info->nac_info.mac_addr2_valid = - HAL_RX_GET(rx_mpdu_start, - RX_MPDU_INFO_2, - MAC_ADDR_AD2_VALID); + HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start); *(uint16_t *)&ppdu_info->nac_info.mac_addr2[0] = HAL_RX_GET(rx_mpdu_start, @@ -1425,8 +1419,8 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo, MPDU_LENGTH); } - filter_category = HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, - RXPCU_MPDU_FILTER_IN_CATEGORY); + filter_category = + HAL_RX_GET_FILTER_CATEGORY(rx_mpdu_start); if (filter_category == 0) ppdu_info->rx_status.rxpcu_filter_pass = 1; diff --git a/hal/wifi3.0/hal_internal.h b/hal/wifi3.0/hal_internal.h index 21daf12b3b..5951f3a907 100644 --- a/hal/wifi3.0/hal_internal.h +++ b/hal/wifi3.0/hal_internal.h @@ -415,6 +415,11 @@ struct hal_hw_txrx_ops { void * (*hal_rx_msdu_desc_info_ptr_get)(void *msdu0); void * (*hal_ent_mpdu_desc_info)(void *hw_addr); void * (*hal_dst_mpdu_desc_info)(void *hw_addr); + uint8_t (*hal_rx_get_fc_valid)(uint8_t *buf); + uint8_t (*hal_rx_get_to_ds_flag)(uint8_t *buf); + uint8_t (*hal_rx_get_mac_addr2_valid)(uint8_t *buf); + uint8_t (*hal_rx_get_filter_category)(uint8_t *buf); + uint32_t (*hal_rx_get_ppdu_id)(uint8_t *buf); }; /** diff --git a/hal/wifi3.0/hal_rx.h b/hal/wifi3.0/hal_rx.h index 6ecf90de53..3cedea37d1 100644 --- a/hal/wifi3.0/hal_rx.h +++ b/hal/wifi3.0/hal_rx.h @@ -3370,4 +3370,48 @@ void *hal_dst_mpdu_desc_info(hal_soc_handle_t hal_soc_hdl, return hal_soc->ops->hal_dst_mpdu_desc_info(hw_addr); } + +static inline +uint8_t hal_rx_get_fc_valid(hal_soc_handle_t hal_soc_hdl, + uint8_t *buf) +{ + struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl; + + return hal_soc->ops->hal_rx_get_fc_valid(buf); +} + +static inline +uint8_t hal_rx_get_to_ds_flag(hal_soc_handle_t hal_soc_hdl, uint8_t *buf) +{ + struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl; + + return hal_soc->ops->hal_rx_get_to_ds_flag(buf); +} + +static inline +uint8_t hal_rx_get_mac_addr2_valid(hal_soc_handle_t hal_soc_hdl, + uint8_t *buf) +{ + struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl; + + return hal_soc->ops->hal_rx_get_mac_addr2_valid(buf); +} + +static inline +uint8_t hal_rx_get_filter_category(hal_soc_handle_t hal_soc_hdl, + uint8_t *buf) +{ + struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl; + + return hal_soc->ops->hal_rx_get_filter_category(buf); +} + +static inline +uint32_t hal_rx_get_ppdu_id(hal_soc_handle_t hal_soc_hdl, + uint8_t *buf) +{ + struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl; + + return hal_soc->ops->hal_rx_get_ppdu_id(buf); +} #endif /* _HAL_RX_H */ diff --git a/hal/wifi3.0/qca6290/hal_6290.c b/hal/wifi3.0/qca6290/hal_6290.c index 75af3d30ad..66fc072ad3 100644 --- a/hal/wifi3.0/qca6290/hal_6290.c +++ b/hal/wifi3.0/qca6290/hal_6290.c @@ -782,6 +782,33 @@ void *hal_dst_mpdu_desc_info_6290(void *dst_ring_desc) { return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc); } + +static +uint8_t hal_rx_get_fc_valid_6290(uint8_t *buf) +{ + return HAL_RX_GET_FC_VALID(buf); +} + +static uint8_t hal_rx_get_to_ds_flag_6290(uint8_t *buf) +{ + return HAL_RX_GET_TO_DS_FLAG(buf); +} + +static uint8_t hal_rx_get_mac_addr2_valid_6290(uint8_t *buf) +{ + return HAL_RX_GET_MAC_ADDR2_VALID(buf); +} + +static uint8_t hal_rx_get_filter_category_6290(uint8_t *buf) +{ + return HAL_RX_GET_FILTER_CATEGORY(buf); +} + +static uint32_t +hal_rx_get_ppdu_id_6290(uint8_t *buf) +{ + return HAL_RX_GET_PPDU_ID(buf); +} struct hal_hw_txrx_ops qca6290_hal_hw_txrx_ops = { /* init and setup */ hal_srng_dst_hw_init_generic, @@ -853,6 +880,11 @@ struct hal_hw_txrx_ops qca6290_hal_hw_txrx_ops = { hal_rx_msdu_desc_info_ptr_get_6290, hal_ent_mpdu_desc_info_6290, hal_dst_mpdu_desc_info_6290, + hal_rx_get_fc_valid_6290, + hal_rx_get_to_ds_flag_6290, + hal_rx_get_mac_addr2_valid_6290, + hal_rx_get_filter_category_6290, + hal_rx_get_ppdu_id_6290, }; struct hal_hw_srng_config hw_srng_table_6290[] = { diff --git a/hal/wifi3.0/qca6290/hal_6290_rx.h b/hal/wifi3.0/qca6290/hal_6290_rx.h index 5ba63c4a47..f5dd17dc1d 100644 --- a/hal/wifi3.0/qca6290/hal_6290_rx.h +++ b/hal/wifi3.0/qca6290/hal_6290_rx.h @@ -249,6 +249,21 @@ (uint8_t *)(dst_ring_desc) + \ REO_DESTINATION_RING_2_RX_MPDU_DESC_INFO_RX_MPDU_DESC_INFO_DETAILS_OFFSET +#define HAL_RX_GET_FC_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MPDU_FRAME_CONTROL_VALID) + +#define HAL_RX_GET_TO_DS_FLAG(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, TO_DS) + +#define HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MAC_ADDR_AD2_VALID) + +#define HAL_RX_GET_FILTER_CATEGORY(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, RXPCU_MPDU_FILTER_IN_CATEGORY) + +#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID) + #if defined(QCA_WIFI_QCA6290_11AX) #define HAL_RX_MSDU_START_MIMO_SS_BITMAP(_rx_msdu_start)\ (_HAL_MS((*_OFFSET_TO_WORD_PTR((_rx_msdu_start),\ diff --git a/hal/wifi3.0/qca6390/hal_6390.c b/hal/wifi3.0/qca6390/hal_6390.c index 2e46dad3d3..0e3312bac8 100644 --- a/hal/wifi3.0/qca6390/hal_6390.c +++ b/hal/wifi3.0/qca6390/hal_6390.c @@ -781,6 +781,33 @@ void *hal_dst_mpdu_desc_info_6390(void *dst_ring_desc) return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc); } +static +uint8_t hal_rx_get_fc_valid_6390(uint8_t *buf) +{ + return HAL_RX_GET_FC_VALID(buf); +} + +static uint8_t hal_rx_get_to_ds_flag_6390(uint8_t *buf) +{ + return HAL_RX_GET_TO_DS_FLAG(buf); +} + +static uint8_t hal_rx_get_mac_addr2_valid_6390(uint8_t *buf) +{ + return HAL_RX_GET_MAC_ADDR2_VALID(buf); +} + +static uint8_t hal_rx_get_filter_category_6390(uint8_t *buf) +{ + return HAL_RX_GET_FILTER_CATEGORY(buf); +} + +static uint32_t +hal_rx_get_ppdu_id_6390(uint8_t *buf) +{ + return HAL_RX_GET_PPDU_ID(buf); +} + struct hal_hw_txrx_ops qca6390_hal_hw_txrx_ops = { /* init and setup */ hal_srng_dst_hw_init_generic, @@ -852,6 +879,11 @@ struct hal_hw_txrx_ops qca6390_hal_hw_txrx_ops = { hal_rx_msdu_desc_info_ptr_get_6390, hal_ent_mpdu_desc_info_6390, hal_dst_mpdu_desc_info_6390, + hal_rx_get_fc_valid_6390, + hal_rx_get_to_ds_flag_6390, + hal_rx_get_mac_addr2_valid_6390, + hal_rx_get_filter_category_6390, + hal_rx_get_ppdu_id_6390, }; struct hal_hw_srng_config hw_srng_table_6390[] = { diff --git a/hal/wifi3.0/qca6390/hal_6390_rx.h b/hal/wifi3.0/qca6390/hal_6390_rx.h index f58b805291..f98c455cfa 100644 --- a/hal/wifi3.0/qca6390/hal_6390_rx.h +++ b/hal/wifi3.0/qca6390/hal_6390_rx.h @@ -255,6 +255,21 @@ (uint8_t *)(dst_ring_desc) + \ REO_DESTINATION_RING_2_RX_MPDU_DESC_INFO_RX_MPDU_DESC_INFO_DETAILS_OFFSET +#define HAL_RX_GET_FC_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MPDU_FRAME_CONTROL_VALID) + +#define HAL_RX_GET_TO_DS_FLAG(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, TO_DS) + +#define HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MAC_ADDR_AD2_VALID) + +#define HAL_RX_GET_FILTER_CATEGORY(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, RXPCU_MPDU_FILTER_IN_CATEGORY) + +#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID) + /* * hal_rx_msdu_start_nss_get_6390(): API to get the NSS * Interval from rx_msdu_start diff --git a/hal/wifi3.0/qca6490/hal_6490.c b/hal/wifi3.0/qca6490/hal_6490.c index c578fde5f1..1ba770af51 100644 --- a/hal/wifi3.0/qca6490/hal_6490.c +++ b/hal/wifi3.0/qca6490/hal_6490.c @@ -653,6 +653,33 @@ void *hal_dst_mpdu_desc_info_6490(void *dst_ring_desc) return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc); } +static +uint8_t hal_rx_get_fc_valid_6490(uint8_t *buf) +{ + return HAL_RX_GET_FC_VALID(buf); +} + +static uint8_t hal_rx_get_to_ds_flag_6490(uint8_t *buf) +{ + return HAL_RX_GET_TO_DS_FLAG(buf); +} + +static uint8_t hal_rx_get_mac_addr2_valid_6490(uint8_t *buf) +{ + return HAL_RX_GET_MAC_ADDR2_VALID(buf); +} + +static uint8_t hal_rx_get_filter_category_6490(uint8_t *buf) +{ + return HAL_RX_GET_FILTER_CATEGORY(buf); +} + +static uint32_t +hal_rx_get_ppdu_id_6490(uint8_t *buf) +{ + return HAL_RX_GET_PPDU_ID(buf); +} + struct hal_hw_txrx_ops qca6490_hal_hw_txrx_ops = { /* tx */ hal_tx_desc_set_mesh_en_6490, @@ -686,4 +713,9 @@ struct hal_hw_txrx_ops qca6490_hal_hw_txrx_ops = { hal_rx_msdu_desc_info_ptr_get_6490, hal_ent_mpdu_desc_info_6490, hal_dst_mpdu_desc_info_6490, + hal_rx_get_fc_valid_6490, + hal_rx_get_to_ds_flag_6490, + hal_rx_get_mac_addr2_valid_6490, + hal_rx_get_filter_category_6490, + hal_rx_get_ppdu_id_6490, }; diff --git a/hal/wifi3.0/qca6490/hal_6490_rx.h b/hal/wifi3.0/qca6490/hal_6490_rx.h index 00e211b18f..0a03cbad95 100644 --- a/hal/wifi3.0/qca6490/hal_6490_rx.h +++ b/hal/wifi3.0/qca6490/hal_6490_rx.h @@ -229,3 +229,18 @@ #define HAL_DST_MPDU_DESC_INFO(dst_ring_desc) \ (uint8_t *)(dst_ring_desc) + \ REO_DESTINATION_RING_2_RX_MPDU_DESC_INFO_DETAILS_MSDU_COUNT_OFFSET + +#define HAL_RX_GET_FC_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_11, MPDU_FRAME_CONTROL_VALID) + +#define HAL_RX_GET_TO_DS_FLAG(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_11, TO_DS) + +#define HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_11, MAC_ADDR_AD2_VALID) + +#define HAL_RX_GET_FILTER_CATEGORY(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_9, RXPCU_MPDU_FILTER_IN_CATEGORY) + +#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_9, PHY_PPDU_ID) diff --git a/hal/wifi3.0/qca8074v1/hal_8074v1.c b/hal/wifi3.0/qca8074v1/hal_8074v1.c index 7a7387da10..f7ef9344f0 100644 --- a/hal/wifi3.0/qca8074v1/hal_8074v1.c +++ b/hal/wifi3.0/qca8074v1/hal_8074v1.c @@ -779,6 +779,33 @@ void *hal_dst_mpdu_desc_info_8074v1(void *dst_ring_desc) return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc); } +static +uint8_t hal_rx_get_fc_valid_8074v1(uint8_t *buf) +{ + return HAL_RX_GET_FC_VALID(buf); +} + +static uint8_t hal_rx_get_to_ds_flag_8074v1(uint8_t *buf) +{ + return HAL_RX_GET_TO_DS_FLAG(buf); +} + +static uint8_t hal_rx_get_mac_addr2_valid_8074v1(uint8_t *buf) +{ + return HAL_RX_GET_MAC_ADDR2_VALID(buf); +} + +static uint8_t hal_rx_get_filter_category_8074v1(uint8_t *buf) +{ + return HAL_RX_GET_FILTER_CATEGORY(buf); +} + +static uint32_t +hal_rx_get_ppdu_id_8074v1(uint8_t *buf) +{ + return HAL_RX_GET_PPDU_ID(buf); +} + struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = { /* init and setup */ @@ -851,6 +878,11 @@ struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = { hal_rx_msdu_desc_info_ptr_get_8074v1, hal_ent_mpdu_desc_info_8074v1, hal_dst_mpdu_desc_info_8074v1, + hal_rx_get_fc_valid_8074v1, + hal_rx_get_to_ds_flag_8074v1, + hal_rx_get_mac_addr2_valid_8074v1, + hal_rx_get_filter_category_8074v1, + hal_rx_get_ppdu_id_8074v1, }; struct hal_hw_srng_config hw_srng_table_8074[] = { diff --git a/hal/wifi3.0/qca8074v1/hal_8074v1_rx.h b/hal/wifi3.0/qca8074v1/hal_8074v1_rx.h index beffae0d57..442a70138f 100644 --- a/hal/wifi3.0/qca8074v1/hal_8074v1_rx.h +++ b/hal/wifi3.0/qca8074v1/hal_8074v1_rx.h @@ -238,6 +238,21 @@ (uint8_t *)(dst_ring_desc) + \ REO_DESTINATION_RING_2_RX_MPDU_DESC_INFO_RX_MPDU_DESC_INFO_DETAILS_OFFSET +#define HAL_RX_GET_FC_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MPDU_FRAME_CONTROL_VALID) + +#define HAL_RX_GET_TO_DS_FLAG(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, TO_DS) + +#define HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MAC_ADDR_AD2_VALID) + +#define HAL_RX_GET_FILTER_CATEGORY(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, RXPCU_MPDU_FILTER_IN_CATEGORY) + +#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID) + /* * hal_rx_msdu_start_nss_get_8074(): API to get the NSS * Interval from rx_msdu_start diff --git a/hal/wifi3.0/qca8074v2/hal_8074v2.c b/hal/wifi3.0/qca8074v2/hal_8074v2.c index f46dffacb4..d639e48b7c 100644 --- a/hal/wifi3.0/qca8074v2/hal_8074v2.c +++ b/hal/wifi3.0/qca8074v2/hal_8074v2.c @@ -776,6 +776,33 @@ void *hal_dst_mpdu_desc_info_8074v2(void *dst_ring_desc) return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc); } +static +uint8_t hal_rx_get_fc_valid_8074v2(uint8_t *buf) +{ + return HAL_RX_GET_FC_VALID(buf); +} + +static uint8_t hal_rx_get_to_ds_flag_8074v2(uint8_t *buf) +{ + return HAL_RX_GET_TO_DS_FLAG(buf); +} + +static uint8_t hal_rx_get_mac_addr2_valid_8074v2(uint8_t *buf) +{ + return HAL_RX_GET_MAC_ADDR2_VALID(buf); +} + +static uint8_t hal_rx_get_filter_category_8074v2(uint8_t *buf) +{ + return HAL_RX_GET_FILTER_CATEGORY(buf); +} + +static uint32_t +hal_rx_get_ppdu_id_8074v2(uint8_t *buf) +{ + return HAL_RX_GET_PPDU_ID(buf); +} + struct hal_hw_txrx_ops qca8074v2_hal_hw_txrx_ops = { /* init and setup */ @@ -849,6 +876,11 @@ struct hal_hw_txrx_ops qca8074v2_hal_hw_txrx_ops = { hal_rx_msdu_desc_info_ptr_get_8074v2, hal_ent_mpdu_desc_info_8074v2, hal_dst_mpdu_desc_info_8074v2, + hal_rx_get_fc_valid_8074v2, + hal_rx_get_to_ds_flag_8074v2, + hal_rx_get_mac_addr2_valid_8074v2, + hal_rx_get_filter_category_8074v2, + hal_rx_get_ppdu_id_8074v2, }; struct hal_hw_srng_config hw_srng_table_8074v2[] = { diff --git a/hal/wifi3.0/qca8074v2/hal_8074v2_rx.h b/hal/wifi3.0/qca8074v2/hal_8074v2_rx.h index a2aba03941..f5a9fa98d4 100644 --- a/hal/wifi3.0/qca8074v2/hal_8074v2_rx.h +++ b/hal/wifi3.0/qca8074v2/hal_8074v2_rx.h @@ -247,6 +247,21 @@ (uint8_t *)(dst_ring_desc) + \ REO_DESTINATION_RING_2_RX_MPDU_DESC_INFO_RX_MPDU_DESC_INFO_DETAILS_OFFSET +#define HAL_RX_GET_FC_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MPDU_FRAME_CONTROL_VALID) + +#define HAL_RX_GET_TO_DS_FLAG(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, TO_DS) + +#define HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_2, MAC_ADDR_AD2_VALID) + +#define HAL_RX_GET_FILTER_CATEGORY(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, RXPCU_MPDU_FILTER_IN_CATEGORY) + +#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \ + HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID) + /* * hal_rx_msdu_start_nss_get_8074v2(): API to get the NSS * Interval from rx_msdu_start diff --git a/hal/wifi3.0/qcn9000/hal_9000.c b/hal/wifi3.0/qcn9000/hal_9000.c index bae6010101..1114ade93d 100644 --- a/hal/wifi3.0/qcn9000/hal_9000.c +++ b/hal/wifi3.0/qcn9000/hal_9000.c @@ -785,6 +785,33 @@ void *hal_dst_mpdu_desc_info_9000(void *dst_ring_desc) return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc); } +static +uint8_t hal_rx_get_fc_valid_9000(uint8_t *buf) +{ + return HAL_RX_GET_FC_VALID(buf); +} + +static uint8_t hal_rx_get_to_ds_flag_9000(uint8_t *buf) +{ + return HAL_RX_GET_TO_DS_FLAG(buf); +} + +static uint8_t hal_rx_get_mac_addr2_valid_9000(uint8_t *buf) +{ + return HAL_RX_GET_MAC_ADDR2_VALID(buf); +} + +static uint8_t hal_rx_get_filter_category_9000(uint8_t *buf) +{ + return HAL_RX_GET_FILTER_CATEGORY(buf); +} + +static uint32_t +hal_rx_get_ppdu_id_9000(uint8_t *buf) +{ + return HAL_RX_GET_PPDU_ID(buf); +} + struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = { /* init and setup */ @@ -858,6 +885,11 @@ struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = { hal_rx_msdu_desc_info_ptr_get_9000, hal_ent_mpdu_desc_info_9000, hal_dst_mpdu_desc_info_9000, + hal_rx_get_fc_valid_9000, + hal_rx_get_to_ds_flag_9000, + hal_rx_get_mac_addr2_valid_9000, + hal_rx_get_filter_category_9000, + hal_rx_get_ppdu_id_9000, }; struct hal_hw_srng_config hw_srng_table_9000[] = {