Selaa lähdekoodia

qcacmn: Update reo pointers for new primary Qref table

Update reo pointers for new primary Qref table.

Change-Id: I3ac5cdd39f91ae84ecb595d613574bd7ee127d99
CRs-Fixed: 3486401
Neha Bisht 2 vuotta sitten
vanhempi
sitoutus
53800babd2
1 muutettua tiedostoa jossa 16 lisäystä ja 0 poistoa
  1. 16 0
      dp/wifi3.0/be/dp_be.c

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

@@ -2922,6 +2922,7 @@ dp_primary_link_migration(struct dp_soc *soc, void *cb_ctxt,
 	struct dp_peer *mld_peer = NULL;
 	uint8_t primary_vdev_id;
 	struct cdp_txrx_peer_params_update params = {0};
+	uint8_t tid;
 
 	pr_soc = dp_mlo_get_soc_ref_by_chip_id(dp_mlo, pr_peer_info->chip_id);
 	if (!pr_soc) {
@@ -2942,6 +2943,21 @@ dp_primary_link_migration(struct dp_soc *soc, void *cb_ctxt,
 
 	new_primary_peer->primary_link = 1;
 
+	/*
+	 * Check if reo_qref_table_en is set and if
+	 * rx_tid qdesc for tid 0 is already setup and perform
+	 * qref write to LUT for Tid 0 and 16.
+	 *
+	 */
+	if (hal_reo_shared_qaddr_is_enable(pr_soc->hal_soc) &&
+	    mld_peer->rx_tid[0].hw_qdesc_vaddr_unaligned) {
+		for (tid = 0; tid < DP_MAX_TIDS; tid++)
+			hal_reo_shared_qaddr_write(pr_soc->hal_soc,
+						   mld_peer->peer_id,
+						   tid,
+						   mld_peer->rx_tid[tid].hw_qdesc_paddr);
+	}
+
 	if (pr_soc && pr_soc->cdp_soc.ol_ops->update_primary_link)
 		pr_soc->cdp_soc.ol_ops->update_primary_link(pr_soc->ctrl_psoc,
 						new_primary_peer->mac_addr.raw);