Browse Source

qcacmn: Add change to update tsf2 periodically

Target update tsf2 periodically in the scratch register. Add change to read
tsf2 from scratch register on receiving mlo timestamp indicator event.

Change-Id: Ic68d216d94ece8eddbf8af0f13a3f1876a893df3
CRs-Fixed: 3472165
Ripan Deuri 2 years ago
parent
commit
81504e9000
1 changed files with 15 additions and 0 deletions
  1. 15 0
      dp/wifi3.0/dp_htt.c

+ 15 - 0
dp/wifi3.0/dp_htt.c

@@ -3240,10 +3240,23 @@ static inline void dp_update_mlo_ts_offset(struct dp_soc *soc,
 	soc->cdp_soc.ops->mlo_ops->mlo_update_mlo_ts_offset
 		((struct cdp_soc_t *)soc, mlo_offset);
 }
+
+static inline
+void dp_update_mlo_delta_tsf2(struct dp_soc *soc, struct dp_pdev *pdev)
+{
+	uint64_t delta_tsf2 = 0;
+
+	hal_get_tsf2_offset(soc->hal_soc, pdev->lmac_id, &delta_tsf2);
+	soc->cdp_soc.ops->mlo_ops->mlo_update_delta_tsf2
+		((struct cdp_soc_t *)soc, pdev->pdev_id, delta_tsf2);
+}
 #else
 static inline void dp_update_mlo_ts_offset(struct dp_soc *soc,
 					   uint32_t ts_lo, uint32_t ts_hi)
 {}
+static inline
+void dp_update_mlo_delta_tsf2(struct dp_soc *soc, struct dp_pdev *pdev)
+{}
 #endif
 static void dp_htt_mlo_peer_map_handler(struct htt_soc *soc,
 					uint32_t *msg_word)
@@ -3437,6 +3450,8 @@ dp_rx_mlo_timestamp_ind_handler(struct dp_soc *soc,
 	dp_update_mlo_ts_offset(soc,
 				pdev->timestamp.mlo_offset_lo_us,
 				pdev->timestamp.mlo_offset_hi_us);
+
+	dp_update_mlo_delta_tsf2(soc, pdev);
 }
 #else
 static void dp_htt_mlo_peer_map_handler(struct htt_soc *soc,