qcacmn: Add HAL APIs in hal_generic_api.h
Add the following macros: 1. HAL_RX_GET_FC_VALID 2. HAL_RX_GET_TO_DS_FLAG 3. HAL_RX_GET_MAC_ADDR2_VALID 4. HAL_RX_GET_FILTER_CATEGORY 5. HAL_RX_GET_PPDU_ID Also add function pointers to retrieve the flags from the above macros. Change-Id: I334b198588ceba77cd30bdde7ebc500cdbe18358 CRs-Fixed: 2522133
This commit is contained in:

committed by
nshrivas

parent
8227240793
commit
b7d2df16b5
@@ -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;
|
||||
|
@@ -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);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -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 */
|
||||
|
@@ -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[] = {
|
||||
|
@@ -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),\
|
||||
|
@@ -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[] = {
|
||||
|
@@ -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
|
||||
|
@@ -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,
|
||||
};
|
||||
|
@@ -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)
|
||||
|
@@ -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[] = {
|
||||
|
@@ -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
|
||||
|
@@ -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[] = {
|
||||
|
@@ -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
|
||||
|
@@ -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[] = {
|
||||
|
Reference in New Issue
Block a user