diff --git a/hal/wifi3.0/hal_api.h b/hal/wifi3.0/hal_api.h index 2a77b2f578..81e368061a 100644 --- a/hal/wifi3.0/hal_api.h +++ b/hal/wifi3.0/hal_api.h @@ -157,6 +157,7 @@ enum hal_ring_type { RXDMA_MONITOR_STATUS, RXDMA_MONITOR_DST, RXDMA_MONITOR_DESC, + DIR_BUF_RX_DMA_SRC, #ifdef WLAN_FEATURE_CIF_CFR WIFI_POS_SRC, #endif diff --git a/hal/wifi3.0/hal_internal.h b/hal/wifi3.0/hal_internal.h index 8f5b635e58..1147215eb3 100644 --- a/hal/wifi3.0/hal_internal.h +++ b/hal/wifi3.0/hal_internal.h @@ -173,6 +173,9 @@ enum hal_srng_ring_id { HAL_SRNG_WMAC1_SW2RXDMA1_DESC = (HAL_SRNG_WMAC1_RXDMA2SW1 + 1), #ifdef WLAN_FEATURE_CIF_CFR HAL_SRNG_WIFI_POS_SRC_DMA_RING = (HAL_SRNG_WMAC1_SW2RXDMA1_DESC + 1), + HAL_SRNG_DIR_BUF_RX_SRC_DMA_RING = (HAL_SRNG_WIFI_POS_SRC_DMA_RING + 1), +#else + HAL_SRNG_DIR_BUF_RX_SRC_DMA_RING = (HAL_SRNG_WMAC1_SW2RXDMA1_DESC + 1), #endif /* -142 unused */ HAL_SRNG_LMAC1_ID_END = 143 diff --git a/hal/wifi3.0/hal_srng.c b/hal/wifi3.0/hal_srng.c index b2e8930410..027268a1f4 100644 --- a/hal/wifi3.0/hal_srng.c +++ b/hal/wifi3.0/hal_srng.c @@ -497,6 +497,18 @@ static struct hal_hw_srng_config hw_srng_table[] = { .reg_start = {}, .reg_size = {}, }, + { /* DIR_BUF_RX_DMA_SRC */ + .start_ring_id = HAL_SRNG_DIR_BUF_RX_SRC_DMA_RING, + .max_rings = 1, + .entry_size = 2, + .lmac_ring = TRUE, + .ring_dir = HAL_SRNG_SRC_RING, + /* reg_start is not set because LMAC rings are not accessed + * from host + */ + .reg_start = {}, + .reg_size = {}, + }, #ifdef WLAN_FEATURE_CIF_CFR { /* WIFI_POS_SRC */ .start_ring_id = HAL_SRNG_WIFI_POS_SRC_DMA_RING,