qcacmn: Add function to extract the events for FTM TIME SYNC feature

This patch adds the function to extract and parse the wmi events
WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID and
WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID. These events are
required for ftm time sync feature.

Change-Id: Ib17da82b7a8abfcff5d18125a0ba0e5249d6bf54
CRs-Fixed: 2615452
This commit is contained in:
Surabhi Vishnoi
2020-01-28 19:05:16 +05:30
committed by nshrivas
parent f2d6649390
commit d6e10c598e
5 changed files with 201 additions and 13 deletions

View File

@@ -4314,6 +4314,50 @@ typedef struct {
uint32_t rx_duration_us;
} wmi_host_chan_stats;
#ifdef FEATURE_WLAN_TIME_SYNC_FTM
#define FTM_TIME_SYNC_QTIME_PAIR_MAX 32
/**
* struct ftm_time_sync_start_stop_param- Get wlan time sync ftm info
* @vdev_id: vdev id
* @timer_interval: periodicity to trigger wlan time sync strobe
* @num_reads: Number of times to trigger wlabn time sync strobe
* @qtime: ref Qtimer value
* @mac_time: ref Mac timer value
*/
struct ftm_time_sync_start_stop_params {
uint32_t vdev_id;
uint32_t timer_interval;
uint32_t num_reads;
uint64_t qtime;
uint64_t mac_time;
};
/**
* struct wlan_time_sync_qtime_pair- Get wlan time sync qtime pair value
* @vdev_id: vdev id
* @qtime_master: qtimer value of master
* @qtime_slave: qtimer value of slave
*/
struct wlan_time_sync_qtime_pair {
uint64_t qtime_master;
uint64_t qtime_slave;
};
/**
* struct ftm_time_sync_offset- Get ftm time sync offset
* @vdev_id: vdev id
* @num_qtime: number of qtime values received
* @pairs: array of qtime pairs
*/
struct ftm_time_sync_offset {
uint32_t vdev_id;
uint32_t num_qtime;
struct wlan_time_sync_qtime_pair pairs[FTM_TIME_SYNC_QTIME_PAIR_MAX];
};
#endif
#define WMI_EVENT_ID_INVALID 0
/**
* Host based ENUM IDs for events to abstract target enums for event_id