qcacmn: Enable intra-bss in Waikiki

In Beryllium the HW does the ast lookup and match
and sets the intra-bss bit in the msdu_desc_info
structure of reo_destination ring and WBM Rx release ring.

So, change the Beryllium code to make use of this
hardware assistance for intra-bss.

Change-Id: Ic7c89efc741fefe35603082309204fbe3c9a97c7
这个提交包含在:
Pavankumar Nandeshwar
2021-08-23 11:39:47 -07:00
提交者 Madan Koyyalamudi
父节点 d6a386028b
当前提交 26c6cd1397
修改 7 个文件,包含 210 行新增51 行删除

查看文件

@@ -166,6 +166,11 @@
RX_MSDU_DESC_INFO_DA_IS_MCBC_OFFSET)) & \
RX_MSDU_DESC_INFO_DA_IS_MCBC_MASK)
#define HAL_RX_MSDU_INTRA_BSS_FLAG_GET(msdu_info_ptr) \
((*_OFFSET_TO_WORD_PTR(msdu_info_ptr, \
RX_MSDU_DESC_INFO_INTRA_BSS_OFFSET)) & \
RX_MSDU_DESC_INFO_INTRA_BSS_MASK)
#define HAL_RX_MPDU_ENCRYPT_TYPE_GET(_rx_mpdu_info) \
(_HAL_MS((*_OFFSET_TO_WORD_PTR(_rx_mpdu_info, \
RX_MPDU_INFO_ENCRYPT_TYPE_OFFSET)), \
@@ -367,6 +372,9 @@ uint32_t hal_rx_msdu_flags_get_be(rx_msdu_desc_info_t msdu_desc_info_hdl)
if (HAL_RX_MSDU_DA_IS_MCBC_FLAG_GET(msdu_desc_info))
flags |= HAL_MSDU_F_DA_IS_MCBC;
if (HAL_RX_MSDU_INTRA_BSS_FLAG_GET(msdu_desc_info))
flags |= HAL_MSDU_F_INTRA_BSS;
return flags;
}

查看文件

@@ -193,6 +193,7 @@ struct hal_rx_msdu_desc_info {
* @ HAL_MSDU_F_DA_IS_VALID: Found match for DA in AST
* @ HAL_MSDU_F_DA_IS_MCBC: DA is MC/BC address
* @ HAL_MSDU_F_DA_IDX_TIMEOUT: AST search for DA timed out
* @ HAL_MSDU_F_INTRA_BSS: This is an intrabss packet
*/
enum hal_rx_msdu_desc_flags {
HAL_MSDU_F_FIRST_MSDU_IN_MPDU = (0x1 << 0),
@@ -202,7 +203,8 @@ enum hal_rx_msdu_desc_flags {
HAL_MSDU_F_SA_IDX_TIMEOUT = (0x1 << 24),
HAL_MSDU_F_DA_IS_VALID = (0x1 << 25),
HAL_MSDU_F_DA_IS_MCBC = (0x1 << 26),
HAL_MSDU_F_DA_IDX_TIMEOUT = (0x1 << 27)
HAL_MSDU_F_DA_IDX_TIMEOUT = (0x1 << 27),
HAL_MSDU_F_INTRA_BSS = (0x1 << 28),
};
/*