Переглянути джерело

qcacmn: choose proper REO destination ring for invalid hash

for cases where hash is invalid (non TCP/UDP) let us remap
the traffic to a configured REO DESTINATION ring instead of
using default ring 0.

Change-Id: I3d08f684f1914b60a2457bdcc5c184fc8a0068e7
Tallapragada Kalyan 7 роки тому
батько
коміт
61cb97c58e
2 змінених файлів з 5 додано та 26 видалено
  1. 5 4
      dp/wifi3.0/dp_main.c
  2. 0 22
      hal/wifi3.0/hal_rx.c

+ 5 - 4
dp/wifi3.0/dp_main.c

@@ -3111,10 +3111,11 @@ static void dp_peer_setup_wifi3(struct cdp_vdev *vdev_hdl, void *peer_hdl)
 		FL("hash based steering for pdev: %d is %d\n"),
 		pdev->pdev_id, hash_based);
 
-	if (!hash_based)
-		reo_dest = pdev->reo_dest;
-	else
-		reo_dest = 1;
+	/*
+	 * Below line of code will ensure the proper reo_dest ring is choosen
+	 * for cases where toeplitz hash cannot be generated (ex: non TCP/UDP)
+	 */
+	reo_dest = pdev->reo_dest;
 
 	if (soc->cdp_soc.ol_ops->peer_set_default_routing) {
 		/* TODO: Check the destination ring number to be passed to FW */

+ 0 - 22
hal/wifi3.0/hal_rx.c

@@ -276,28 +276,6 @@ void hal_reo_setup(void *hal_soc,
 	 * 7: NOT_USED.
 	*/
 	if (reo_params->rx_hash_enabled) {
-		HAL_REG_WRITE(soc,
-			HWIO_REO_R0_DESTINATION_RING_CTRL_IX_0_ADDR(
-			SEQ_WCSS_UMAC_REO_REG_OFFSET),
-			reo_params->remap1);
-
-		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
-			FL("HWIO_REO_R0_DESTINATION_RING_CTRL_IX_0_ADDR 0x%x\n"),
-			HAL_REG_READ(soc,
-			HWIO_REO_R0_DESTINATION_RING_CTRL_IX_0_ADDR(
-			SEQ_WCSS_UMAC_REO_REG_OFFSET)));
-
-		HAL_REG_WRITE(soc,
-			HWIO_REO_R0_DESTINATION_RING_CTRL_IX_1_ADDR(
-			SEQ_WCSS_UMAC_REO_REG_OFFSET),
-			reo_params->remap2);
-
-		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
-			FL("HWIO_REO_R0_DESTINATION_RING_CTRL_IX_1_ADDR 0x%x\n"),
-			HAL_REG_READ(soc,
-			HWIO_REO_R0_DESTINATION_RING_CTRL_IX_1_ADDR(
-			SEQ_WCSS_UMAC_REO_REG_OFFSET)));
-
 		HAL_REG_WRITE(soc,
 			HWIO_REO_R0_DESTINATION_RING_CTRL_IX_2_ADDR(
 			SEQ_WCSS_UMAC_REO_REG_OFFSET),