Explorar el Código

qcacld-3.0: Add HW cookie conversion support

Add HW cookie conversion support for wcn7850 soc.

Change-Id: I2adedb13bcaeebb1715b391f790b639d422e08f6
CRs-Fixed: 2929512
Jinwei Chen hace 4 años
padre
commit
7fef8c3b3c
Se han modificado 3 ficheros con 13 adiciones y 1 borrados
  1. 2 0
      Kbuild
  2. 2 0
      configs/default_defconfig
  3. 9 1
      core/dp/txrx3.0/dp_txrx.c

+ 2 - 0
Kbuild

@@ -3525,6 +3525,8 @@ ccflags-$(CONFIG_HIF_SNOC) += -DCE_SVC_CMN_INIT
 cppflags-$(CONFIG_RX_DESC_SANITY_WAR) += -DRX_DESC_SANITY_WAR
 cppflags-$(CONFIG_WBM_IDLE_LSB_WR_CNF_WAR) += -DWBM_IDLE_LSB_WRITE_CONFIRM_WAR
 cppflags-$(CONFIG_DYNAMIC_RX_AGGREGATION) += -DWLAN_FEATURE_DYNAMIC_RX_AGGREGATION
+cppflags-$(CONFIG_DP_FEATURE_HW_COOKIE_CONVERSION) += -DDP_FEATURE_HW_COOKIE_CONVERSION
+cppflags-$(CONFIG_DP_HW_COOKIE_CONVERT_EXCEPTION) += -DDP_HW_COOKIE_CONVERT_EXCEPTION
 
 cppflags-$(CONFIG_RX_HASH_DEBUG) += -DRX_HASH_DEBUG
 

+ 2 - 0
configs/default_defconfig

@@ -104,6 +104,8 @@ ifeq ($(CONFIG_CNSS_WCN7850), y)
 	CONFIG_PCIE_GEN_SWITCH := y
 	CONFIG_GENERIC_SHADOW_REGISTER_ACCESS_ENABLE := y
 	CONFIG_ATH_SUPPORT_SPECTRAL := n
+	CONFIG_DP_FEATURE_HW_COOKIE_CONVERSION := y
+	CONFIG_DP_HW_COOKIE_CONVERT_EXCEPTION := y
 endif
 
 ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)

+ 9 - 1
core/dp/txrx3.0/dp_txrx.c

@@ -210,6 +210,10 @@ int dp_rx_tm_get_pending(ol_txrx_soc_handle soc)
 /* Num TX desc in TX desc pool */
 #define DP_TX_DESC_POOL_SIZE 6144
 
+#define DP_TX_RX_DESC_MAX_NUM \
+		(WLAN_CFG_NUM_TX_DESC_MAX * MAX_TXDESC_POOLS + \
+			WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX * MAX_RXDESC_POOLS)
+
 /**
  * struct dp_consistent_prealloc - element representing DP pre-alloc memory
  * @ring_type: HAL ring type
@@ -416,7 +420,11 @@ static struct  dp_multi_page_prealloc g_dp_multi_page_allocs[] = {
 #endif
 	/* DP HW Link DESCs pools */
 	{DP_HW_LINK_DESC_TYPE, HW_LINK_DESC_SIZE, NUM_HW_LINK_DESCS, 0, NON_CACHEABLE, { 0 } },
-
+#ifdef CONFIG_BERYLLIUM
+	{DP_HW_CC_SPT_PAGE_TYPE, qdf_page_size,
+	 ((DP_TX_RX_DESC_MAX_NUM * sizeof(uint64_t)) / qdf_page_size),
+	 0, NON_CACHEABLE, { 0 } },
+#endif
 };
 
 static struct dp_consistent_prealloc_unaligned