qcacmn: Reserve a TX bank for FW usage

FW has some usecases when it needs to enqueue frames into hardware. In
BE WLAN chips, some hardware TX desc fields are moved into Tx
banks, hence a TX bank is also needed to queue to HW.

Dedicate a bank for FW usage.

Change-Id: I1f19f0ef85aff4c7592b0f07de4631259da743a6
CRs-Fixed: 3016828
这个提交包含在:
Mohit Khanna
2021-08-18 02:08:38 -07:00
提交者 Madan Koyyalamudi
父节点 fa7d919cbc
当前提交 af4c03b546
修改 2 个文件,包含 15 行新增3 行删除

查看文件

@@ -22,6 +22,10 @@
#include "hal_be_hw_headers.h"
#include "hal_tx.h"
/* Number of TX banks reserved i.e, will not be used by host driver. */
/* MAX_TCL_BANK reserved for FW use */
#define HAL_TX_NUM_RESERVED_BANKS 1
enum hal_be_tx_ret_buf_manager {
HAL_BE_WBM_SW0_BM_ID = 5,
HAL_BE_WBM_SW1_BM_ID = 6,
@@ -416,11 +420,15 @@ static inline uint8_t
hal_tx_get_num_tcl_banks(hal_soc_handle_t hal_soc_hdl)
{
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
int hal_banks = 0;
if (hal_soc->ops->hal_tx_get_num_tcl_banks)
return hal_soc->ops->hal_tx_get_num_tcl_banks();
if (hal_soc->ops->hal_tx_get_num_tcl_banks) {
hal_banks = hal_soc->ops->hal_tx_get_num_tcl_banks();
hal_banks -= HAL_TX_NUM_RESERVED_BANKS;
hal_banks = (hal_banks < 0) ? 0 : hal_banks;
}
return 0;
return hal_banks;
}
/**