Преглед изворни кода

qcacmn: Use correct wbm_ring_num for SW5 and SW6

With KIWI_V2, wbm_ring_num for WBM2SW5 and WBM2SW6 have been changed
to 5 and 6. Hence properly update them in g_tcl_wbm_map_array. At the
same time, tx_ring_mask_msi and tx_ring_near_full_irq_mask are also
updated.

With IPA_OFFLOAD enabled soc->tcl_data_ring[0|1|2] is used by HOST
and the other two rings are allocated to IPA usage.

Change-Id: I4c13d0787e46be667c3a5a0ae624df8c2b2b354e
CRs-Fixed: 3229375
Jia Ding пре 3 година
родитељ
комит
720b38fbc6
3 измењених фајлова са 29 додато и 10 уклоњено
  1. 5 0
      dp/wifi3.0/be/dp_be.c
  2. 10 3
      wlan_cfg/wlan_cfg.c
  3. 14 7
      wlan_cfg/wlan_cfg.h

+ 5 - 0
dp/wifi3.0/be/dp_be.c

@@ -38,8 +38,13 @@ static struct wlan_cfg_tcl_wbm_ring_num_map g_tcl_wbm_map_array[MAX_TCL_DATA_RIN
 	{.tcl_ring_num = 0, .wbm_ring_num = 0, .wbm_rbm_id = HAL_BE_WBM_SW0_BM_ID, .for_ipa = 0},
 	{1, 4, HAL_BE_WBM_SW4_BM_ID, 0},
 	{2, 2, HAL_BE_WBM_SW2_BM_ID, 0},
+#ifdef QCA_WIFI_KIWI_V2
+	{3, 5, HAL_BE_WBM_SW5_BM_ID, 0},
+	{4, 6, HAL_BE_WBM_SW6_BM_ID, 0}
+#else
 	{3, 6, HAL_BE_WBM_SW5_BM_ID, 0},
 	{4, 7, HAL_BE_WBM_SW6_BM_ID, 0}
+#endif
 };
 #else
 #define DP_TX_VDEV_ID_CHECK_ENABLE 1

+ 10 - 3
wlan_cfg/wlan_cfg.c

@@ -130,13 +130,20 @@ struct dp_int_mask_assignment {
  * the below TX mask.
  */
 static const uint8_t tx_ring_mask_msi[WLAN_CFG_INT_NUM_CONTEXTS] = {
-	[0] = WLAN_CFG_TX_RING_MASK_0, [1] = WLAN_CFG_TX_RING_MASK_6,
-	[2] = WLAN_CFG_TX_RING_MASK_7};
-#else
+	[0] = WLAN_CFG_TX_RING_MASK_0, [1] = WLAN_CFG_TX_RING_MASK_4,
+	[2] = WLAN_CFG_TX_RING_MASK_2};
+#else /* !IPA_OFFLOAD */
+#ifdef QCA_WIFI_KIWI_V2
+static const uint8_t tx_ring_mask_msi[WLAN_CFG_INT_NUM_CONTEXTS] = {
+	[0] = WLAN_CFG_TX_RING_MASK_0, [1] = WLAN_CFG_TX_RING_MASK_4,
+	[2] = WLAN_CFG_TX_RING_MASK_2, [3] = WLAN_CFG_TX_RING_MASK_5,
+	[4] = WLAN_CFG_TX_RING_MASK_6};
+#else /* !QCA_WIFI_KIWI_V2 */
 static const uint8_t tx_ring_mask_msi[WLAN_CFG_INT_NUM_CONTEXTS] = {
 	[0] = WLAN_CFG_TX_RING_MASK_0, [1] = WLAN_CFG_TX_RING_MASK_4,
 	[2] = WLAN_CFG_TX_RING_MASK_2, [3] = WLAN_CFG_TX_RING_MASK_6,
 	[4] = WLAN_CFG_TX_RING_MASK_7};
+#endif /* QCA_WIFI_KIWI_V2 */
 #endif /* IPA_OFFLOAD */
 
 static inline const

+ 14 - 7
wlan_cfg/wlan_cfg.h

@@ -64,8 +64,8 @@
 					  WLAN_CFG_RX_RING_MASK_6)
 
 #define WLAN_CFG_TX_RING_NEAR_FULL_IRQ_MASK (WLAN_CFG_TX_RING_MASK_0 | \
-					  WLAN_CFG_TX_RING_MASK_6 | \
-					  WLAN_CFG_TX_RING_MASK_7)
+					     WLAN_CFG_TX_RING_MASK_4 | \
+					     WLAN_CFG_TX_RING_MASK_2)
 
 #else
 #define WLAN_CFG_RX_NEAR_FULL_IRQ_MASK_1 (WLAN_CFG_RX_RING_MASK_0 |	\
@@ -78,12 +78,19 @@
 					  WLAN_CFG_RX_RING_MASK_6 |	\
 					  WLAN_CFG_RX_RING_MASK_7)
 
+#ifdef QCA_WIFI_KIWI_V2
 #define WLAN_CFG_TX_RING_NEAR_FULL_IRQ_MASK (WLAN_CFG_TX_RING_MASK_0 | \
-					  WLAN_CFG_TX_RING_MASK_4 | \
-					  WLAN_CFG_TX_RING_MASK_2 | \
-					  WLAN_CFG_TX_RING_MASK_6 | \
-					  WLAN_CFG_TX_RING_MASK_7)
-
+					     WLAN_CFG_TX_RING_MASK_4 | \
+					     WLAN_CFG_TX_RING_MASK_2 | \
+					     WLAN_CFG_TX_RING_MASK_5 | \
+					     WLAN_CFG_TX_RING_MASK_6)
+#else /* !QCA_WIFI_KIWI_V2 */
+#define WLAN_CFG_TX_RING_NEAR_FULL_IRQ_MASK (WLAN_CFG_TX_RING_MASK_0 | \
+					     WLAN_CFG_TX_RING_MASK_4 | \
+					     WLAN_CFG_TX_RING_MASK_2 | \
+					     WLAN_CFG_TX_RING_MASK_6 | \
+					     WLAN_CFG_TX_RING_MASK_7)
+#endif /* QCA_WIFI_KIWI_V2 */
 #endif
 #endif