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
gecommit door Madan Koyyalamudi
bovenliggende 460260d38a
commit b8fadd7061
8 gewijzigde bestanden met toevoegingen van 285 en 1 verwijderingen

Bestand weergeven

@@ -141,6 +141,9 @@ enum cdp_peer_txq_flush_policy {
* @mlo_soc_setup: setup DP mlo for SOC
* @mlo_soc_teardown: teardown DP mlo for SOC
* @mlo_setup_complete: indication to DP that all SOCs mlo is setup
* @mlo_update_delta_tsf2: update delta tsf2 for link
* @mlo_update_delta_tqm: update delta tqm for SOC
* @mlo_update_mlo_ts_offset: update MLO timestamp offset for SOC
*/
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
struct cdp_mlo_ops {
@@ -152,6 +155,13 @@ struct cdp_mlo_ops {
int8_t *vdev_ids, uint8_t num_vdevs,
uint8_t vdev_id);
void (*mlo_setup_complete)(struct cdp_mlo_ctxt *mlo_ctxt);
void (*mlo_update_delta_tsf2)(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id,
uint64_t delta_tsf2);
void (*mlo_update_delta_tqm)(struct cdp_soc_t *soc_hdl,
uint64_t delta_tqm);
void (*mlo_update_mlo_ts_offset)(struct cdp_soc_t *soc_hdl,
uint64_t offset);
};
#endif