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:
chunquan
2022-04-07 21:54:15 +08:00
committed by Madan Koyyalamudi
parent 361ceba4e4
commit 7e7f7f24f5
8 changed files with 50 additions and 41 deletions

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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.

View File

@@ -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
*/

View File

@@ -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_ */

View File

@@ -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

View File

@@ -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);