Defined a driver interface for periodic TSF sync feature
Add a QCA vendor netlink interface to start/stop periodic TSF sync feature and also support configuration of interval value as part of TSF sync start command. In addition, improve documentation for the related attributes and values. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
parent
5758d09294
commit
41c7f3f20e
1 changed files with 28 additions and 9 deletions
|
@ -1794,36 +1794,53 @@ enum qca_access_policy {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum qca_vendor_attr_get_tsf: Vendor attributes for TSF capture
|
* enum qca_vendor_attr_tsf_cmd: Vendor attributes for TSF capture
|
||||||
* @QCA_WLAN_VENDOR_ATTR_TSF_CMD: enum qca_tsf_operation (u32)
|
* @QCA_WLAN_VENDOR_ATTR_TSF_CMD: Required (u32)
|
||||||
* @QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE: Unsigned 64 bit TSF timer value
|
* Specify the TSF command. Possible values are defined in
|
||||||
* @QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE: Unsigned 64 bit Synchronized
|
* &enum qca_tsf_cmd.
|
||||||
* SOC timer value at TSF capture
|
* @QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE: Optional (u64)
|
||||||
|
* This attribute contains TSF timer value. This attribute is only available
|
||||||
|
* in %QCA_TSF_GET or %QCA_TSF_SYNC_GET response.
|
||||||
|
* @QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE: Optional (u64)
|
||||||
|
* This attribute contains SOC timer value at TSF capture. This attribute is
|
||||||
|
* only available in %QCA_TSF_GET or %QCA_TSF_SYNC_GET response.
|
||||||
|
* @QCA_WLAN_VENDOR_ATTR_TSF_SYNC_INTERVAL: Optional (u32)
|
||||||
|
* This attribute is used to provide TSF sync interval and only applicable when
|
||||||
|
* TSF command is %QCA_TSF_SYNC_START. If this attribute is not provided, the
|
||||||
|
* driver will use the default value. Time unit is in milliseconds.
|
||||||
*/
|
*/
|
||||||
enum qca_vendor_attr_tsf_cmd {
|
enum qca_vendor_attr_tsf_cmd {
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_INVALID = 0,
|
QCA_WLAN_VENDOR_ATTR_TSF_INVALID = 0,
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_CMD,
|
QCA_WLAN_VENDOR_ATTR_TSF_CMD,
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE,
|
QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE,
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE,
|
QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE,
|
||||||
|
QCA_WLAN_VENDOR_ATTR_TSF_SYNC_INTERVAL,
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST,
|
QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST,
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_MAX =
|
QCA_WLAN_VENDOR_ATTR_TSF_MAX =
|
||||||
QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST - 1
|
QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST - 1
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum qca_tsf_operation: TSF driver commands
|
* enum qca_tsf_cmd: TSF driver commands
|
||||||
* @QCA_TSF_CAPTURE: Initiate TSF Capture
|
* @QCA_TSF_CAPTURE: Initiate TSF Capture
|
||||||
* @QCA_TSF_GET: Get TSF capture value
|
* @QCA_TSF_GET: Get TSF capture value
|
||||||
* @QCA_TSF_SYNC_GET: Initiate TSF capture and return with captured value
|
* @QCA_TSF_SYNC_GET: Initiate TSF capture and return with captured value
|
||||||
* @QCA_TSF_AUTO_REPORT_ENABLE: Used in STA mode only. Once set, the target
|
* @QCA_TSF_AUTO_REPORT_ENABLE: Used in STA mode only. Once set, the target
|
||||||
* will automatically send TSF report to the host. To query
|
* will automatically send TSF report to the host. To query
|
||||||
* QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_UPLINK_DELAY, this operation needs to be
|
* %QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_UPLINK_DELAY, this operation needs to be
|
||||||
* initiated first.
|
* initiated first.
|
||||||
* @QCA_TSF_AUTO_REPORT_DISABLE: Used in STA mode only. Once set, the target
|
* @QCA_TSF_AUTO_REPORT_DISABLE: Used in STA mode only. Once set, the target
|
||||||
* will not automatically send TSF report to the host. If
|
* will not automatically send TSF report to the host. If
|
||||||
* QCA_TSF_AUTO_REPORT_ENABLE is initiated and
|
* %QCA_TSF_AUTO_REPORT_ENABLE is initiated and
|
||||||
* QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_UPLINK_DELAY is not queried anymore, this
|
* %QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_UPLINK_DELAY is not queried anymore, this
|
||||||
* operation needs to be initiated.
|
* operation needs to be initiated.
|
||||||
|
* @QCA_TSF_SYNC_START: Start periodic TSF sync feature. The driver periodically
|
||||||
|
* fetches TSF and host time mapping from the firmware with interval configured
|
||||||
|
* through the %QCA_WLAN_VENDOR_ATTR_TSF_SYNC_INTERVAL attribute. If the
|
||||||
|
* interval value is not provided the driver will use the default value. The
|
||||||
|
* userspace can query the TSF and host time mapping via the %QCA_TSF_GET
|
||||||
|
* command.
|
||||||
|
* @QCA_TSF_SYNC_STOP: Stop periodic TSF sync feature.
|
||||||
*/
|
*/
|
||||||
enum qca_tsf_cmd {
|
enum qca_tsf_cmd {
|
||||||
QCA_TSF_CAPTURE,
|
QCA_TSF_CAPTURE,
|
||||||
|
@ -1831,6 +1848,8 @@ enum qca_tsf_cmd {
|
||||||
QCA_TSF_SYNC_GET,
|
QCA_TSF_SYNC_GET,
|
||||||
QCA_TSF_AUTO_REPORT_ENABLE,
|
QCA_TSF_AUTO_REPORT_ENABLE,
|
||||||
QCA_TSF_AUTO_REPORT_DISABLE,
|
QCA_TSF_AUTO_REPORT_DISABLE,
|
||||||
|
QCA_TSF_SYNC_START,
|
||||||
|
QCA_TSF_SYNC_STOP,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue