Forráskód Böngészése

qcacmn: Enable the 4th Tx. completion ring

Set RBM mapping to send data on Tx comp ring4

Change-Id: I8643b8745286660a157d7f7ce027845e87a2b936
CRs-Fixed: 3123108
Neha Bisht 3 éve
szülő
commit
3f4d0fccaa
2 módosított fájl, 10 hozzáadás és 3 törlés
  1. 7 1
      dp/wifi3.0/li/dp_li.c
  2. 3 2
      dp/wifi3.0/li/dp_li_tx.c

+ 7 - 1
dp/wifi3.0/li/dp_li.c

@@ -42,7 +42,13 @@ static struct wlan_cfg_tcl_wbm_ring_num_map g_tcl_wbm_map_array[MAX_TCL_DATA_RIN
 static struct wlan_cfg_tcl_wbm_ring_num_map g_tcl_wbm_map_array[MAX_TCL_DATA_RINGS] = {
 	{.tcl_ring_num = 0, .wbm_ring_num = 0, .wbm_rbm_id = HAL_LI_WBM_SW0_BM_ID, .for_ipa = 0},
 	{1, 1, HAL_LI_WBM_SW1_BM_ID, 0},
-	{2, 2, HAL_LI_WBM_SW2_BM_ID, 0}
+	{2, 2, HAL_LI_WBM_SW2_BM_ID, 0},
+	/*
+	 * Although using wbm_ring 4, wbm_ring 3 is mentioned in order to match
+	 * with the tx_mask in dp_service_srngs. Please be carefull while using
+	 * this table anywhere else.
+	 */
+	{3, 3, HAL_LI_WBM_SW4_BM_ID, 0}
 };
 #endif
 

+ 3 - 2
dp/wifi3.0/li/dp_li_tx.c

@@ -265,8 +265,9 @@ static inline uint8_t dp_tx_get_rbm_id_li(struct dp_soc *soc,
 static inline uint8_t dp_tx_get_rbm_id_li(struct dp_soc *soc,
 					  uint8_t ring_id)
 {
-	return (ring_id ? soc->wbm_sw0_bm_id + (ring_id - 1) :
-			  HAL_WBM_SW2_BM_ID(soc->wbm_sw0_bm_id));
+	if (ring_id == soc->num_tcl_data_rings)
+		return HAL_WBM_SW4_BM_ID(soc->wbm_sw0_bm_id);
+	return (ring_id + HAL_WBM_SW0_BM_ID(soc->wbm_sw0_bm_id));
 }
 #endif
 #else