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

qcacmn: Add correct ast-idx in the Tx Descriptor

Add ast-index instead of ast hash value in the transmit
descriptor as specified by Hardware team.

Change-Id: Id5965d6f41aa89af7680ad6f45d1611631ffcff4
Subhranil Choudhury пре 5 година
родитељ
комит
5985716a66
3 измењених фајлова са 7 додато и 2 уклоњено
  1. 3 1
      dp/wifi3.0/dp_peer.c
  2. 1 1
      dp/wifi3.0/dp_tx.c
  3. 3 0
      dp/wifi3.0/dp_types.h

+ 3 - 1
dp/wifi3.0/dp_peer.c

@@ -1538,8 +1538,10 @@ dp_rx_peer_map_handler(struct dp_soc *soc, uint16_t peer_id,
 				peer->vdev->vap_bss_peer = peer;
 			}
 
-			if (peer->vdev->opmode == wlan_op_mode_sta)
+			if (peer->vdev->opmode == wlan_op_mode_sta) {
 				peer->vdev->bss_ast_hash = ast_hash;
+				peer->vdev->bss_ast_idx = hw_peer_id;
+			}
 
 			/* Add ast entry incase self ast entry is
 			 * deleted due to DP CP sync issue

+ 1 - 1
dp/wifi3.0/dp_tx.c

@@ -1103,7 +1103,7 @@ static QDF_STATUS dp_tx_hw_enqueue(struct dp_soc *soc, struct dp_vdev *vdev,
 	hal_tx_desc_set_search_type(soc->hal_soc, hal_tx_desc_cached,
 				    vdev->search_type);
 	hal_tx_desc_set_search_index(soc->hal_soc, hal_tx_desc_cached,
-				     vdev->bss_ast_hash);
+				     vdev->bss_ast_idx);
 	hal_tx_desc_set_dscp_tid_table_id(soc->hal_soc, hal_tx_desc_cached,
 					  vdev->dscp_tid_map_id);
 	hal_tx_desc_set_encrypt_type(hal_tx_desc_cached,

+ 3 - 0
dp/wifi3.0/dp_types.h

@@ -1836,6 +1836,9 @@ struct dp_vdev {
 	/* AST hash value for BSS peer in HW valid for STA VAP*/
 	uint16_t bss_ast_hash;
 
+	/* AST hash index for BSS peer in HW valid for STA VAP*/
+	uint16_t bss_ast_idx;
+
 	/* Capture timestamp of previous tx packet enqueued */
 	uint64_t prev_tx_enq_tstamp;