mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
qcacmn: Enable Monitor Mode for QCA6390
Support Monitor Mode for QCA6390 as RXDMA1 block is now removed. 1. Monitor buffers are now received on rxdma_err_dst_ring 2. RXDMA1 monitor status ring is moved to RXDMA0 monitor status ring 3. Msdu link descriptors are now returned to WBM descriptor release ring. 4. Reap the Monitor buffers and return it to SW Refill ring. 5. Use the same rx descriptor pool for regular and monitor data. Change-Id: If41e5d13f942da2b97e5aab72b88ae344925ba67 CRs-Fixed: 2297300
This commit is contained in:
parent
cc8676b6a8
commit
8747958dff
11 changed files with 541 additions and 194 deletions
|
|
@ -128,6 +128,15 @@ static const int host2rxdma_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
|||
0,
|
||||
0,
|
||||
0};
|
||||
|
||||
static const int rxdma2host_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_0,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_1,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_2,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_3,
|
||||
0,
|
||||
0,
|
||||
0};
|
||||
#else
|
||||
static const int tx_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
||||
WLAN_CFG_TX_RING_MASK_0,
|
||||
|
|
@ -155,6 +164,12 @@ static const int host2rxdma_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
|||
WLAN_CFG_HOST2RXDMA_RING_MASK_1,
|
||||
WLAN_CFG_HOST2RXDMA_RING_MASK_2,
|
||||
WLAN_CFG_HOST2RXDMA_RING_MASK_3};
|
||||
|
||||
static const int rxdma2host_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_0,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_1,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_2,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_3};
|
||||
#endif
|
||||
|
||||
static const int rx_err_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
||||
|
|
@ -175,12 +190,6 @@ static const int reo_status_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
|||
WLAN_CFG_REO_STATUS_RING_MASK_2,
|
||||
WLAN_CFG_REO_STATUS_RING_MASK_3};
|
||||
|
||||
static const int rxdma2host_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_0,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_1,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_2,
|
||||
WLAN_CFG_RXDMA2HOST_RING_MASK_3};
|
||||
|
||||
/**
|
||||
* struct wlan_cfg_dp_pdev_ctxt - Configuration parameters for pdev (radio)
|
||||
* @rx_dma_buf_ring_size - Size of RxDMA buffer ring
|
||||
|
|
@ -214,6 +223,7 @@ struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach(void *psoc)
|
|||
if (wlan_cfg_ctx == NULL)
|
||||
return NULL;
|
||||
|
||||
wlan_cfg_ctx->rxdma1_enable = WLAN_CFG_RXDMA1_ENABLE;
|
||||
wlan_cfg_ctx->num_int_ctxts = WLAN_CFG_INT_NUM_CONTEXTS;
|
||||
wlan_cfg_ctx->max_clients = cfg_get(psoc, CFG_DP_MAX_CLIENTS);
|
||||
wlan_cfg_ctx->max_alloc_size = cfg_get(psoc, CFG_DP_MAX_ALLOC_SIZE);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#if defined(CONFIG_MCL)
|
||||
#define MAX_PDEV_CNT 1
|
||||
#define WLAN_CFG_INT_NUM_CONTEXTS 7
|
||||
#define WLAN_CFG_RXDMA1_ENABLE 1
|
||||
/*
|
||||
* This mask defines how many transmit frames account for 1 NAPI work unit
|
||||
* 0 means each tx completion is 1 unit
|
||||
|
|
@ -39,6 +40,7 @@
|
|||
#else
|
||||
#define MAX_PDEV_CNT 3
|
||||
#define WLAN_CFG_INT_NUM_CONTEXTS 7
|
||||
#define WLAN_CFG_RXDMA1_ENABLE 1
|
||||
/*
|
||||
* This mask defines how many transmit frames account for 1 NAPI work unit
|
||||
* 0xFFFF means each 64K tx frame completions account for 1 unit of NAPI budget
|
||||
|
|
@ -198,12 +200,12 @@ struct wlan_cfg_dp_soc_ctxt {
|
|||
int reo_exception_ring;
|
||||
int reo_cmd_ring;
|
||||
int reo_status_ring;
|
||||
|
||||
int rxdma_refill_ring;
|
||||
int rxdma_err_dst_ring;
|
||||
bool raw_mode_war;
|
||||
bool enable_data_stall_detection;
|
||||
bool disable_intra_bss_fwd;
|
||||
bool rxdma1_enable;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue