qcacmn: Intra-BSS MLO changes for WKK v2

Use destination chip and pmac IDs from TLV.
Build flag for HW assist feature is not enabled yet,
so code is not exercised.

Change-Id: Ia9175d6597a7a2780f451d99a9f8ece7a16049e5
CRs-Fixed: 3262344
这个提交包含在:
Manoj Ekbote
2022-12-21 12:40:02 -08:00
提交者 Madan Koyyalamudi
父节点 bbfcdad485
当前提交 eddc343b43
修改 3 个文件,包含 72 行新增33 行删除

查看文件

@@ -21,6 +21,7 @@
#define _HAL_BE_RX_H_
#include "hal_be_hw_headers.h"
#include "hal_be_rx_tlv.h"
#include "hal_rx.h"
#include <wbm_release_ring_rx.h>
@@ -224,20 +225,28 @@
#define HAL_RX_PEER_ID_GET(msdu_metadata) \
(((msdu_metadata)->da_idx) & HAL_RX_DA_IDX_PEER_ID_MASK)
#define HAL_RX_TLV_DEST_CHIP_ID_GET(_rx_pkt_tlv) \
HAL_RX_MSDU_END(_rx_pkt_tlv).dest_chip_id
#ifdef INTRA_BSS_FWD_OFFLOAD
#define HAL_RX_TLV_DEST_CHIP_PMAC_ID_GET(_rx_pkt_tlv) \
HAL_RX_MSDU_END(_rx_pkt_tlv).dest_chip_pmac_id
#endif
/**
* enum hal_be_rx_wbm_error_source: Indicates which module initiated the
* release of this buffer or descriptor
*
* @ HAL_BE_RX_WBM_ERR_SRC_RXDMA: RXDMA released this buffer or descriptor
* @ HAL_BE_RX_WBM_ERR_SRC_REO: REO released this buffer or descriptor
* @ HAL_BE_RX_WBM_ERR_SRC_FW_RX: FW released this buffer or descriptor from the
* @HAL_BE_RX_WBM_ERR_SRC_RXDMA: RXDMA released this buffer or descriptor
* @HAL_BE_RX_WBM_ERR_SRC_REO: REO released this buffer or descriptor
* @HAL_BE_RX_WBM_ERR_SRC_FW_RX: FW released this buffer or descriptor from the
* RX path
* @ HAL_BE_RX_WBM_ERR_SRC_SW_RX: SW released this buffer or descriptor from the
* @HAL_BE_RX_WBM_ERR_SRC_SW_RX: SW released this buffer or descriptor from the
* RX path
* @ HAL_BE_RX_WBM_ERR_SRC_TQM : TQM released this buffer or descriptor
* @ HAL_BE_RX_WBM_ERR_SRC_FW_TX: FW released this buffer or descriptor from the
* @HAL_BE_RX_WBM_ERR_SRC_TQM : TQM released this buffer or descriptor
* @HAL_BE_RX_WBM_ERR_SRC_FW_TX: FW released this buffer or descriptor from the
* RX path
* @ HAL_BE_RX_WBM_ERR_SRC_SW_TX: SW released this buffer or descriptor from the
* @HAL_BE_RX_WBM_ERR_SRC_SW_TX: SW released this buffer or descriptor from the
* RX path
*/
enum hal_be_rx_wbm_error_source {
@@ -509,4 +518,24 @@ static inline uint8_t hal_rx_sw_exception_get_be(void *reo_desc)
{
return HAL_RX_GET(reo_desc, REO_DESTINATION_RING, SW_EXCEPTION);
}
#ifdef INTRA_BSS_FWD_OFFLOAD
/**
* hal_rx_tlv_get_dest_chip_pmac_id() - Get destination chip and PMAC ID
* @buf: Rx TLV buffer
* @d_chip_id: chip id being filled in
* @d_chip_pmac_id: chip pmac id being filled in
*
* Return: void
*/
static inline void
hal_rx_tlv_get_dest_chip_pmac_id(uint8_t *buf,
uint8_t *d_chip_id, uint8_t *d_chip_pmac_id)
{
struct rx_pkt_tlvs *rx_pkt_tlvs = (struct rx_pkt_tlvs *)buf;
*d_chip_id = HAL_RX_TLV_DEST_CHIP_ID_GET(rx_pkt_tlvs);
*d_chip_pmac_id = HAL_RX_TLV_DEST_CHIP_PMAC_ID_GET(rx_pkt_tlvs);
}
#endif /* INTRA_BSS_FWD_OFFLOAD */
#endif /* _HAL_BE_RX_H_ */