qcacld-3.0: Replace slave for target
Replace slave for target, and replace master for initiator which pair of slave. Change-Id: I4f758a2149f9314d92cc775d2d665ada0d8c8a43 CRs-Fixed: 3169100
This commit is contained in:

committed by
Madan Koyyalamudi

parent
361ceba4e4
commit
7e7f7f24f5
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -34,19 +35,19 @@
|
||||
|
||||
/**
|
||||
* struct wlan_time_sync_pair - wlan time sync pair
|
||||
* @qtime_master: master qtime
|
||||
* @qtime_slave: slave qtime
|
||||
* @qtime_initiator: initiator qtime
|
||||
* @qtime_target: target qtime
|
||||
*/
|
||||
struct wlan_time_sync_pair {
|
||||
uint64_t qtime_master;
|
||||
uint64_t qtime_slave;
|
||||
uint64_t qtime_initiator;
|
||||
uint64_t qtime_target;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ftm_time_sync_vdev_priv - Private object to be stored in vdev
|
||||
* @qtime_ref: qtime ref
|
||||
* @mac_ref: mac time ref
|
||||
* @time_pair: array of master/slave qtime pair
|
||||
* @time_pair: array of initiator/target qtime pair
|
||||
*/
|
||||
|
||||
struct ftm_time_sync_priv {
|
||||
@@ -59,7 +60,7 @@ struct ftm_time_sync_priv {
|
||||
* struct ftm_time_sync_cfg - Cfg ini param for FTM time sync
|
||||
* @enable: FTM time_sync feature enable/disable
|
||||
* @mode: Aggregated/burst mode applicable iff enable = 1
|
||||
* @role: Slave/Master Role applicable iff enable = 1
|
||||
* @role: Target/Initiator Role applicable iff enable = 1
|
||||
*/
|
||||
struct ftm_time_sync_cfg {
|
||||
bool enable;
|
||||
@@ -86,7 +87,7 @@ struct ftm_time_sync_psoc_priv {
|
||||
* @ftm_time_sync_mutex: mutex to access ftm time sync priv members
|
||||
* @ftm_time_sync_work: work to capture audio qtime and send it to FW
|
||||
* @time_sync_interval: interval between two qtime capture
|
||||
* @num_qtime_pair: number of qmaster and qslave pair derived
|
||||
* @num_qtime_pair: number of qinitiator and qtarget pair derived
|
||||
* @num_reads: number of times the qtime to be captured
|
||||
* @valid: send qtime to FW only if this is true
|
||||
* @bssid: bssid of connected AP
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -86,13 +87,13 @@ enum ftm_time_sync_role ftm_time_sync_get_role(struct wlan_objmgr_psoc *psoc)
|
||||
|
||||
if (!psoc) {
|
||||
ftm_time_sync_err("psoc is NULL");
|
||||
return FTM_TIMESYNC_SLAVE_ROLE;
|
||||
return FTM_TIMESYNC_TARGET_ROLE;
|
||||
}
|
||||
|
||||
psoc_priv = ftm_time_sync_psoc_get_priv(psoc);
|
||||
if (!psoc_priv) {
|
||||
ftm_time_sync_err("psoc priv is NULL");
|
||||
return FTM_TIMESYNC_SLAVE_ROLE;
|
||||
return FTM_TIMESYNC_TARGET_ROLE;
|
||||
}
|
||||
|
||||
return psoc_priv->cfg_param.role;
|
||||
@@ -191,7 +192,7 @@ ftm_time_sync_vdev_create_notification(struct wlan_objmgr_vdev *vdev, void *arg)
|
||||
target_if_ftm_time_sync_register_rx_ops(&vdev_priv->rx_ops);
|
||||
|
||||
vdev_priv->rx_ops.ftm_time_sync_register_start_stop(psoc);
|
||||
vdev_priv->rx_ops.ftm_time_sync_regiser_master_slave_offset(psoc);
|
||||
vdev_priv->rx_ops.ftm_time_sync_regiser_initiator_target_offset(psoc);
|
||||
|
||||
vdev_priv->valid = true;
|
||||
|
||||
@@ -372,8 +373,8 @@ QDF_STATUS ftm_time_sync_stop(struct wlan_objmgr_vdev *vdev)
|
||||
qdf_delayed_work_stop_sync(&vdev_priv->ftm_time_sync_work);
|
||||
|
||||
for (iter = 0; iter < vdev_priv->num_qtime_pair; iter++) {
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_master = 0;
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_slave = 0;
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_initiator = 0;
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_target = 0;
|
||||
}
|
||||
|
||||
vdev_priv->num_qtime_pair = 0;
|
||||
@@ -384,7 +385,7 @@ QDF_STATUS ftm_time_sync_stop(struct wlan_objmgr_vdev *vdev)
|
||||
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;
|
||||
uint64_t q_initiator, q_target;
|
||||
ssize_t size = 0;
|
||||
int iter;
|
||||
|
||||
@@ -398,14 +399,15 @@ ssize_t ftm_time_sync_show(struct wlan_objmgr_vdev *vdev, char *buf)
|
||||
vdev_priv->bssid.bytes);
|
||||
|
||||
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;
|
||||
q_initiator = vdev_priv->ftm_ts_priv.time_pair[iter].qtime_initiator;
|
||||
q_target = vdev_priv->ftm_ts_priv.time_pair[iter].qtime_target;
|
||||
|
||||
size += qdf_scnprintf(buf + size, PAGE_SIZE - 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);
|
||||
|
||||
"Qtime_initiator", q_initiator, "Qtime_target",
|
||||
q_target, "Offset", q_target > q_initiator ?
|
||||
q_target - q_initiator : q_initiator - q_target);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -69,8 +70,8 @@
|
||||
/*
|
||||
* <ini>
|
||||
* time_sync_ftm_role- Time Sync FTM feature Role configuration
|
||||
* @Min: 0 - Slave Role
|
||||
* @Max: 1 - Master Role
|
||||
* @Min: 0 - Target Role
|
||||
* @Max: 1 - Initiator Role
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is applicable only if enable_time_sync_ftm is set to 1.
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -105,7 +106,7 @@ void ucfg_ftm_time_sync_update_bss_state(struct wlan_objmgr_vdev *vdev,
|
||||
* @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).
|
||||
* between the qtime of STA(target) and connected SAP(initiator).
|
||||
*
|
||||
* Return: number of bytes written in buffer
|
||||
*/
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -41,12 +42,12 @@ enum ftm_time_sync_mode {
|
||||
|
||||
/**
|
||||
* enum ftm_time_sync_role - ftm time sync role
|
||||
* @FTM_TIMESYNC_SLAVE_ROLE: Slave/STA role
|
||||
* @FTM_TIMESYNC_MASTER_ROLE: Master/SAP role
|
||||
* @FTM_TIMESYNC_TARGET_ROLE: Target/STA role
|
||||
* @FTM_TIMESYNC_INITIATOR_ROLE: Initiator/SAP role
|
||||
*/
|
||||
enum ftm_time_sync_role {
|
||||
FTM_TIMESYNC_SLAVE_ROLE,
|
||||
FTM_TIMESYNC_MASTER_ROLE,
|
||||
FTM_TIMESYNC_TARGET_ROLE,
|
||||
FTM_TIMESYNC_INITIATOR_ROLE,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -87,13 +88,13 @@ struct wlan_ftm_time_sync_tx_ops {
|
||||
* struct wlan_ftm_time_sync_rx_ops - structure of rx operation function
|
||||
* pointers for ftm time_sync component
|
||||
* @ftm_time_sync_register_start_stop: register ftm time_sync start stop event
|
||||
* @ftm_time_sync_regiser_master_slave_offset: register master slave qtime
|
||||
* offset event
|
||||
* @ftm_time_sync_regiser_initiator_target_offset: register initiator target
|
||||
* qtime offset event
|
||||
*/
|
||||
struct wlan_ftm_time_sync_rx_ops {
|
||||
QDF_STATUS (*ftm_time_sync_register_start_stop)
|
||||
(struct wlan_objmgr_psoc *psoc);
|
||||
QDF_STATUS (*ftm_time_sync_regiser_master_slave_offset)
|
||||
QDF_STATUS (*ftm_time_sync_regiser_initiator_target_offset)
|
||||
(struct wlan_objmgr_psoc *psoc);
|
||||
};
|
||||
#endif /*_WLAN_TIME_SYNC_FTM_PUBLIC_STRUCT_H_ */
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -136,7 +137,7 @@ void ucfg_ftm_time_sync_update_sta_connect_state(
|
||||
}
|
||||
|
||||
role = ftm_time_sync_get_role(psoc);
|
||||
if (role == FTM_TIMESYNC_SLAVE_ROLE) {
|
||||
if (role == FTM_TIMESYNC_TARGET_ROLE) {
|
||||
if (sta_state == FTM_TIME_SYNC_STA_CONNECTED)
|
||||
ftm_time_sync_send_trigger(vdev);
|
||||
else
|
||||
@@ -162,7 +163,7 @@ void ucfg_ftm_time_sync_update_bss_state(struct wlan_objmgr_vdev *vdev,
|
||||
return;
|
||||
|
||||
role = ftm_time_sync_get_role(psoc);
|
||||
if (role == FTM_TIMESYNC_MASTER_ROLE) {
|
||||
if (role == FTM_TIMESYNC_INITIATOR_ROLE) {
|
||||
if (ap_state == FTM_TIME_SYNC_BSS_STARTED)
|
||||
ftm_time_sync_send_trigger(vdev);
|
||||
else
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
*Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -90,10 +91,10 @@ QDF_STATUS tgt_ftm_ts_offset_evt(struct wlan_objmgr_psoc *psoc,
|
||||
FTM_TIME_SYNC_QTIME_PAIR_MAX;
|
||||
|
||||
for (iter = 0; iter < vdev_priv->num_qtime_pair; iter++) {
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_master =
|
||||
param->pairs[iter].qtime_master;
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_slave =
|
||||
param->pairs[iter].qtime_slave;
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_initiator =
|
||||
param->pairs[iter].qtime_initiator;
|
||||
vdev_priv->ftm_ts_priv.time_pair[iter].qtime_target =
|
||||
param->pairs[iter].qtime_target;
|
||||
}
|
||||
|
||||
ftm_time_sync_vdev_put_ref(vdev);
|
||||
|
Reference in New Issue
Block a user