qcacld-3.0: Add sysfs entry to display ftm time sync offset

Add the sysfs entry ftm_time_sync in STA mode to show the offset
derived for the STA(slave) with respect to connected AP(master).

Change-Id: I05b16ccdb983c53fb86eeb14ba98bd3cc9a2dce6
CRs-Fixed: 2621152
This commit is contained in:
Surabhi Vishnoi
2020-02-12 15:25:18 +05:30
committed by nshrivas
vanhempi 21ca52c9e4
commit 4eaa25c659
8 muutettua tiedostoa jossa 175 lisäystä ja 27 poistoa

Näytä tiedosto

@@ -160,4 +160,12 @@ QDF_STATUS ftm_time_sync_send_trigger(struct wlan_objmgr_vdev *vdev);
*/
QDF_STATUS ftm_time_sync_stop(struct wlan_objmgr_vdev *vdev);
/**
* ftm_time_sync_show() - Handler to print the offset derived
* @vdev: vdev for which offset is to be shown
* @buf: buffer in which the values to be printed
*
* Return: the number of bytes written in buf
*/
ssize_t ftm_time_sync_show(struct wlan_objmgr_vdev *vdev, char *buf);
#endif /* end of _FTM_TIME_SYNC_MAIN_H_ */

Näytä tiedosto

@@ -372,3 +372,30 @@ QDF_STATUS ftm_time_sync_stop(struct wlan_objmgr_vdev *vdev)
return QDF_STATUS_SUCCESS;
}
ssize_t ftm_time_sync_show(struct wlan_objmgr_vdev *vdev, char *buf)
{
struct ftm_time_sync_vdev_priv *vdev_priv;
uint64_t q_master, q_slave;
ssize_t size = 0;
int iter;
vdev_priv = ftm_time_sync_vdev_get_priv(vdev);
if (!vdev_priv) {
ftm_time_sync_debug("Failed to get ftm time sync vdev_priv");
return 0;
}
for (iter = 0; iter < vdev_priv->num_qtime_pair; iter++) {
q_master = vdev_priv->ftm_ts_priv.time_pair[iter].qtime_master;
q_slave = vdev_priv->ftm_ts_priv.time_pair[iter].qtime_slave;
size += qdf_scnprintf(buf + size, PAGE_SIZE,
"%s %llu %s %llu %s %lld\n",
"Qtime_master", q_master, "Qtime_slave",
q_slave, "Offset", q_slave > q_master ?
q_slave - q_master : q_master - q_slave);
}
return size;
}

Näytä tiedosto

@@ -96,6 +96,18 @@ ucfg_ftm_time_sync_update_sta_connect_state(struct wlan_objmgr_vdev *vdev,
*/
void ucfg_ftm_time_sync_update_bss_state(struct wlan_objmgr_vdev *vdev,
enum ftm_time_sync_bss_state ap_state);
/**
* ucfg_ftm_time_sync_show() - Show the ftm time sync offset values derived
* @vdev: vdev context
* @buf: buffer in which the values to be written
*
* This function prints the offset values derived after ftm time sync
* between the qtime of STA(slave) and connected SAP(master).
*
* Return: number of bytes written in buffer
*/
ssize_t ucfg_ftm_time_sync_show(struct wlan_objmgr_vdev *vdev, char *buf);
#else
static inline
@@ -131,5 +143,11 @@ ucfg_ftm_time_sync_update_bss_state(struct wlan_objmgr_vdev *vdev,
enum ftm_time_sync_bss_state ap_state)
{
}
static inline
ssize_t ucfg_ftm_time_sync_show(struct wlan_objmgr_vdev *vdev, char *buf)
{
return 0;
}
#endif /* FEATURE_WLAN_TIME_SYNC_FTM */
#endif /* _FTM_TIME_SYNC_UCFG_API_H_ */

Näytä tiedosto

@@ -166,3 +166,8 @@ void ucfg_ftm_time_sync_update_bss_state(struct wlan_objmgr_vdev *vdev,
ftm_time_sync_stop(vdev);
}
}
ssize_t ucfg_ftm_time_sync_show(struct wlan_objmgr_vdev *vdev, char *buf)
{
return ftm_time_sync_show(vdev, buf);
}