From 81504e9000354a294a834772277a77afab23ffe2 Mon Sep 17 00:00:00 2001 From: Ripan Deuri Date: Mon, 10 Apr 2023 12:10:29 +0530 Subject: [PATCH] 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 --- dp/wifi3.0/dp_htt.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/dp/wifi3.0/dp_htt.c b/dp/wifi3.0/dp_htt.c index be0f108855..e37fb64ff0 100644 --- a/dp/wifi3.0/dp_htt.c +++ b/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,