qcacmn: Add support to calculate uplink delay

Add support to calculate uplink delay on a per vdev basis.
The delay calculated excludes bus delays, where packet
enqueueing time and complete time are fetched from HW release
ring.

Change-Id: I4bbcbf28b197f7a87cb822a841f1f957ebcf063b
CRs-Fixed: 2958833
这个提交包含在:
Jia Ding
2021-05-12 16:47:44 +08:00
提交者 Madan Koyyalamudi
父节点 0e0afa5c4c
当前提交 9304c2d00e
修改 6 个文件,包含 277 行新增1 行删除

查看文件

@@ -771,4 +771,39 @@ dp_tx_hw_desc_update_evt(uint8_t *hal_tx_desc_cached,
}
#endif
#ifdef WLAN_FEATURE_TSF_UPLINK_DELAY
/**
* dp_set_delta_tsf() - Set delta_tsf to dp_soc structure
* @soc_hdl: cdp soc pointer
* @vdev_id: vdev id
* @delta_tsf: difference between TSF clock and qtimer
*
* Return: None
*/
void dp_set_delta_tsf(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
uint32_t delta_tsf);
/**
* dp_set_tsf_report_ul_delay() - Enable or disable reporting uplink delay
* @soc_hdl: cdp soc pointer
* @vdev_id: vdev id
* @enable: true to enable and false to disable
*
* Return: QDF_STATUS
*/
QDF_STATUS dp_set_tsf_ul_delay_report(struct cdp_soc_t *soc_hdl,
uint8_t vdev_id, bool enable);
/**
* dp_get_uplink_delay() - Get uplink delay value
* @soc_hdl: cdp soc pointer
* @vdev_id: vdev id
* @val: pointer to save uplink delay value
*
* Return: QDF_STATUS
*/
QDF_STATUS dp_get_uplink_delay(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
uint32_t *val);
#endif /* WLAN_FEATURE_TSF_UPLINK_TSF */
#endif