qcacmn: Support HW Tx delay for MLO

Add delta_tqm, delta_tsf2 and mlo timestamp offset for BE.
These offsets are used to calculate hardware Tx completion delay.
delta_tsf2 and delta_tqm are updated during init. mlo timestamp
offset is updated whenever target sends the update event.

Also, adding CDP ops to set the offsets.

Change-Id: I55665982798c3a795481fa96c023bb851ea17476
CRs-Fixed: 3220906
This commit is contained in:
Ripan Deuri
2022-05-16 15:39:44 +05:30
committed by Madan Koyyalamudi
szülő 460260d38a
commit b8fadd7061
8 fájl változott, egészen pontosan 285 új sor hozzáadva és 1 régi sor törölve

Fájl megtekintése

@@ -2943,6 +2943,21 @@ dp_offload_ind_handler(struct htt_soc *soc, uint32_t *msg_word)
#endif
#ifdef WLAN_FEATURE_11BE_MLO
#ifdef WLAN_MLO_MULTI_CHIP
static inline void dp_update_mlo_ts_offset(struct dp_soc *soc,
uint32_t ts_lo, uint32_t ts_hi)
{
uint64_t mlo_offset;
mlo_offset = ((uint64_t)(ts_hi) << 32 | ts_lo);
soc->cdp_soc.ops->mlo_ops->mlo_update_mlo_ts_offset
((struct cdp_soc_t *)soc, mlo_offset);
}
#else
static inline void dp_update_mlo_ts_offset(struct dp_soc *soc,
uint32_t ts_lo, uint32_t ts_hi)
{}
#endif
static void dp_htt_mlo_peer_map_handler(struct htt_soc *soc,
uint32_t *msg_word)
{
@@ -3097,6 +3112,10 @@ dp_rx_mlo_timestamp_ind_handler(struct dp_soc *soc,
pdev->timestamp.mlo_offset_hi_us);
qdf_spin_unlock_bh(&soc->htt_stats.lock);
dp_update_mlo_ts_offset(soc,
pdev->timestamp.mlo_offset_lo_us,
pdev->timestamp.mlo_offset_hi_us);
}
#else
static void dp_htt_mlo_peer_map_handler(struct htt_soc *soc,