Skip to content
This repository has been archived by the owner on Jul 7, 2021. It is now read-only.

Commit

Permalink
qcacld-3.0: Merge tag 'LA.UM.8.9.r1-08400-SM6xx.0' into neutrino-msm-…
Browse files Browse the repository at this point in the history
…hotdogb-4.14

"LA.UM.8.9.r1-08400-SM6xx.0"

* tag 'LA.UM.8.9.r1-08400-SM6xx.0':
  qcacld-3.0: Add ini support for protocol data pkt diag logging
  Release 5.2.03.20D
  qcacld-3.0: selectively reduce the offload logs
  qcacld-3.0: Selectively reduce dp logs
  qcacld-3.0: Selectively reduce the hdd/osif logs
  Release 5.2.03.20E
  qcacld-3.0: Selectively reduce the sap logs
  qcacld-3.0: Selectively reduce the ipa logs
  qcacld-3.0: Selectively reduce the SME logs
  Release 5.2.03.20F
  qcacld-3.0: Handle WMI_ROAM_STATS_EVENTID from firmware
  Release 5.2.03.20G
  qcacld-3.0: Selectively reduce cds logs
  qcacld-3.0: Selectively reduce the wma logs
  qcacld-3.0: Restore enable_scoring_for_roam only in non-NCHO mode
  qcacld-3.0: Selectively reduce the pe layer logs
  Release 5.2.03.20H
  qcacld-3.0: Add support for packet capture mode
  Release 5.2.03.20I
  qcacld-3.0: Add FTM TIME SYNC component
  Release 5.2.03.20J
  qcacld-3.0: Print roaming logs in kmsg
  Release 5.2.03.20K
  qcacld-3.0: Add logs for deauth TX, RX
  qcacld-3.0: Optimize logs in connect req in HDD and CSR
  qcacld-3.0: Handle roam stats event with neighbor report tlv alone
  Release 5.2.03.20L
  qcacld-3.0: Restore default roam rssi diff from ini
  Release 5.2.03.20M
  qcacld-3.0: Update roam failure reason string
  qcacld-3.0: Add beacon report related logging to kmsg
  Release 5.2.03.20N
  qcacld-3.0: add support to customize dscp-to-up map table
  qcacld-3.0: Add feature flag for SAR safety feature
  Release 5.2.03.20O
  qcacld-3.0: Add ini configs related to SAR safety feature
  qcacld-3.0: Optimize logging in wma peer create
  qcacld-3.0: Optimize logs while printing HT/VHT MCS
  qcacld-3.0: Remove duplicate logs from sta_send_add_bss
  Release 5.2.03.20P
  qcacld-3.0: Add support for the NAN config items
  Release 5.2.03.20Q
  qcacld-3.0: Add SAR safety Timer
  qcacld-3.0: Add SAR unsolicited timer
  qcacld-3.0: Add SAR request-response event
  qcacld-3.0: Configure sar sleep index to FW
  Release 5.2.03.20R
  qcacld-3.0: Optimize log in connect path
  Release 5.2.03.20S
  qcacld-3.0: Save Beacon Report Error IE in Beacon Report Response
  Release 5.2.03.20T
  qcacld-3.0: Fix compilation issues regarding WLAN_FEATURE_NAN
  Release 5.2.03.20U
  qcacld-3.0: Always append preferred roam scan channels
  Release 5.2.03.20V
  qcacld-3.0: Change STA default keep alive time from 60 to 30
  Release 5.2.03.20W
  qcacld-3.0: Resolve memleak in hdd_configure_sar index
  Release 5.2.03.20X
  qcacld-3.0: Set power save enable directly to FW
  qcacld-3.0: Fix compilation error related to NAN
  Release 5.2.03.20Y
  qcacld-3.0: Enable 6GHz feature for WHUNT
  qcacld-3.0: Fix compile errors of WLAN_SEND_DSCP_UP_MAP_TO_FW
  Release 5.2.03.20Z
  qcacld-3.0: Log vdev id and opmode while creating pesession
  Release 5.2.03.21
  qcacld-3.0: Add new config for BTM offload
  Release 5.2.03.21A
  qcacld-3.0: Use in WLAN_MAX_VDEVS hdd_indicate_management_frames
  Release 5.2.03.21B
  qcacld-3.0: Add pld API to get the audio timestamp
  qcacld-3.0: Remove wext handler on mon mode adapter deinit
  Release 5.2.03.21C
  qcacld-3.0: Validate assoc response IE len before copy
  Release 5.2.03.21D
  qcacld-3.0: Add FTM TIME SYNC component in target_if
  Release 5.2.03.21E
  qcacld-3.0: Change default value of idle_roam_rssi_delta to 3
  Release 5.2.03.21F
  qcacld-3.0: Support coex parameter set to fw although chainmask set failure
  Release 5.2.03.21G
  qcacld-3.0: Add INI parameter for packet capture mode support
  Release 5.2.03.21H
  qcacld-3.0: Optimize logs in TX assoc req and RX assoc rsp
  Release 5.2.03.21I
  qcacld-3.0: Enable FTM time sync feature
  Release 5.2.03.21J
  qcacld-3.0: Fix compilation errors
  Release 5.2.03.21K
  qcacld-3.0: Add function to handle the FTM time sync events from target
  Release 5.2.03.21L
  qcacld-3.0: Cleanup logs in HDD APF path
  Release 5.2.03.21M
  qcacld-3.0: Optimize PMO prints
  qcacld-3.0: Optimize LL Stats prints
  Release 5.2.03.21N
  qcacld-3.0: Optimize log in roam and connect path
  Release 5.2.03.21O
  qcacld-3.0: Fix DHCP indication to FW feature for broadcast exchange
  qcacld-3.0: Add param to configure channel avoidance indication from FW
  qcacld-3.0: Clean up logs in STATS path
  qcacld-3.0: Rearrage roam code in CSR layer
  qcacld-3.0: Add support to get roam scan channels from fw
  Release 5.2.03.21P
  qcacld-3.0: Create mon thread for packet capture
  qcacld-3.0: Resume/suspend of mon thread for packet capture
  Release 5.2.03.21Q
  qcacld-3.0: Update trace dump to nofl dump
  qcacld-3.0: Log optimization for beacon report
  Release 5.2.03.21R
  qcacld-3.0: Add INI support for FIPS handshake offload feature
  Release 5.2.03.21S
  qcacld-3.0: Move disconnect ie info to a structure
  qcacld-3.0: Forward disconnect IEs from deauth roam event to kernel
  qcacld-3.0: Fill correct reason code after deauth roaming failure
  qcacld-3.0: Extract disconnect reason code from notif_params
  qcacld-3.0: Fix logging for the AUTH and Assoc frames
  Release 5.2.03.21T
  qcacld-3.0: Add support for packet capture callbacks
  qcacld-3.0: Register network interface for pktcapture mode
  qcacld-3.0: Log optimization for NCHO
  qcacld-3.0: Register/deregister packet capture callbacks
  Release 5.2.03.21U
  qcacld-3.0: Optimize logs in STA disconnect path
  Release 5.2.03.21V
  qcacld-3.0: Optimize CSA logs for SAP and STA
  Release 5.2.03.21W
  qcacld-3.0: Add reason codes for internal disconnections
  qcacld-3.0: Log enhancement in ACS
  Release 5.2.03.21X
  qcacld-3.0: Avoid sending tdls peer assoc cmd after roam start
  Release 5.2.03.21Y
  qcacld-3.0: Use session id while get roam scan ch from fw
  Release 5.2.03.21Z
  qcacld-3.0: Send vdev param command to set pkt capture mode
  qcacld-3.0: Combine and print channel for ACS and roam channels
  Release 5.2.03.22
  qcacld-3.0: Log enhancement for policy mgr
  Release 5.2.03.22A
  qcacld-3.0: Reduce regulatory logging
  Release 5.2.03.22B
  qcacld-3.0: Update bit position of the supp mode in sta info
  Release 5.2.03.22C
  qcacld-3.0: Process Mgmt Tx and Rx frames for pktcapture mode
  qcacld-3.0: Add WMI EVENT handler for offloaded mgmt data
  qcacld-3.0: Register tx and rx ops for packet capture component
  Release 5.2.03.22D
  qcacld-3.0: Clear CONFIG_CLD_HL_SDIO_CORE
  Release 5.2.03.22E
  qcacld-3.0: Send last disconnect reason in sta_info to userspace
  qcacld-3.0: Send disconnected AP beacon IEs to userspace in sta_info
  qcacld-3.0: Send all assoc request IE to hostapd in SAP mode
  qcacld-3.0: Send assoc request IEs in STA_INFO in SAP mode
  qcacld-3.0: Send proper reason code for STA kickout disconnections
  Release 5.2.03.22F
  qcacld-3.0: Process Rx data packet for pkt capture mode
  qcacld-3.0: Process Tx data packet for pkt capture mode
  Release 5.2.03.22G
  qcacld-3.0: Add ini for FTM time sync component
  Release 5.2.03.22H
  qcacld-3.0: check if non-zero list count before deleting node
  qcacld-3.0: Add support to trigger FTM time sync feature
  Release 5.2.03.22I
  qcacld-3.0: Optimize logs after connect complete
  Release 5.2.03.22J
  qcacld-3.0: suspend scan before scheduler thread suspended
  Release 5.2.03.22K
  qcacld-3.0: Add check for STA disconnect in pe disconnect cb
  qcacld-3.0: enable SMMU S1 and METERING Features in IPA
  Release 5.2.03.22L
  qcacld-3.0: Store rrm session bssid
  qcacld-3.0: Race condition handling for roam during disconnect
  Release 5.2.03.22M
  qcacld-3.0: Add sysfs entry to display ftm time sync offset
  Release 5.2.03.22N
  qcacld-3.0: Remove unnecessary enter exit from PMO functions
  qcacld-3.0: Improve logging in driver
  Release 5.2.03.22O
  qcacld-3.0: map DSCP CS6(48) to UP AC_VO(7)
  Release 5.2.03.22P
  qcacld-3.0: Set MCC quota for STA+CLI
  qcacld-3.0: Remove validate_context check from wlan_resume
  qcacld-3.0: Add support to include ACK status and tx retry count
  Release 5.2.03.22Q

Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
  • Loading branch information
0ctobot committed Mar 21, 2020
2 parents 36747ac + 5efc2e3 commit f6de892
Show file tree
Hide file tree
Showing 176 changed files with 12,878 additions and 3,891 deletions.
59 changes: 59 additions & 0 deletions drivers/staging/qcacld-3.0/Kbuild
Expand Up @@ -197,6 +197,13 @@ ifeq ($(CONFIG_QCACLD_FEATURE_HW_CAPABILITY), y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_hw_capability.o
endif

ifeq ($(CONFIG_FEATURE_WLAN_TIME_SYNC_FTM), y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ftm_time_sync.o
endif

#Flag to enable SAR Safety Feature
cppflags-$(CONFIG_SAR_SAFETY_FEATURE) += -DSAR_SAFETY_FEATURE

########### HOST DIAG LOG ###########
HOST_DIAG_LOG_DIR := $(WLAN_COMMON_ROOT)/utils/host_diag_log

Expand Down Expand Up @@ -777,6 +784,36 @@ ACTION_OUI_OBJS := $(ACTION_OUI_DIR)/core/src/wlan_action_oui_main.o \
$(ACTION_OUI_DIR)/dispatcher/src/wlan_action_oui_ucfg_api.o
endif

######## PACKET CAPTURE ########

PKT_CAPTURE_DIR := components/pkt_capture
PKT_CAPTURE_TARGET_IF_DIR := components/target_if/pkt_capture/
PKT_CAPTURE_INC := -I$(WLAN_ROOT)/$(PKT_CAPTURE_DIR)/core/inc \
-I$(WLAN_ROOT)/$(PKT_CAPTURE_DIR)/dispatcher/inc \
-I$(WLAN_ROOT)/$(PKT_CAPTURE_TARGET_IF_DIR)/inc

ifeq ($(CONFIG_WLAN_FEATURE_PKT_CAPTURE), y)
PKT_CAPTURE_OBJS := $(PKT_CAPTURE_DIR)/core/src/wlan_pkt_capture_main.o \
$(PKT_CAPTURE_DIR)/core/src/wlan_pkt_capture_mon_thread.o \
$(PKT_CAPTURE_DIR)/dispatcher/src/wlan_pkt_capture_ucfg_api.o \
$(PKT_CAPTURE_DIR)/core/src/wlan_pkt_capture_mgmt_txrx.o \
$(PKT_CAPTURE_DIR)/core/src/wlan_pkt_capture_data_txrx.o \
$(PKT_CAPTURE_DIR)/dispatcher/src/wlan_pkt_capture_ucfg_api.o \
$(PKT_CAPTURE_TARGET_IF_DIR)/src/target_if_pkt_capture.o
endif

########## FTM TIME SYNC ##########

FTM_TIME_SYNC_DIR := components/ftm_time_sync
FTM_TIME_SYNC_INC := -I$(WLAN_ROOT)/$(FTM_TIME_SYNC_DIR)/core/inc \
-I$(WLAN_ROOT)/$(FTM_TIME_SYNC_DIR)/dispatcher/inc

ifeq ($(CONFIG_FEATURE_WLAN_TIME_SYNC_FTM), y)
FTM_TIME_SYNC_OBJS := $(FTM_TIME_SYNC_DIR)/core/src/ftm_time_sync_main.o \
$(FTM_TIME_SYNC_DIR)/dispatcher/src/ftm_time_sync_ucfg_api.o \
$(FTM_TIME_SYNC_DIR)/dispatcher/src/wlan_ftm_time_sync_tgt_api.o
endif

########## CLD TARGET_IF #######
CLD_TARGET_IF_DIR := components/target_if

Expand Down Expand Up @@ -817,6 +854,11 @@ CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/action_oui/inc
CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/action_oui/src/target_if_action_oui.o
endif

ifeq ($(CONFIG_FEATURE_WLAN_TIME_SYNC_FTM), y)
CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/ftm_time_sync/inc
CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/ftm_time_sync/src/target_if_ftm_time_sync.o
endif

############## UMAC P2P ###########
P2P_DIR := umac/p2p
P2P_CORE_DIR := $(P2P_DIR)/core
Expand Down Expand Up @@ -1472,6 +1514,8 @@ INCS += $(HOST_DIAG_LOG_INC)

INCS += $(DISA_INC)
INCS += $(ACTION_OUI_INC)
INCS += $(PKT_CAPTURE_INC)
INCS += $(FTM_TIME_SYNC_INC)

INCS += $(UMAC_DISP_INC)
INCS += $(UMAC_SCAN_INC)
Expand Down Expand Up @@ -1566,6 +1610,14 @@ ifeq ($(CONFIG_WLAN_FEATURE_ACTION_OUI), y)
OBJS += $(ACTION_OUI_OBJS)
endif

ifeq ($(CONFIG_WLAN_FEATURE_PKT_CAPTURE), y)
OBJS += $(PKT_CAPTURE_OBJS)
endif

ifeq ($(CONFIG_FEATURE_WLAN_TIME_SYNC_FTM), y)
OBJS += $(FTM_TIME_SYNC_OBJS)
endif

OBJS += $(UMAC_DISP_OBJS)
OBJS += $(UMAC_SCAN_OBJS)
OBJS += $(UMAC_COMMON_OBJS)
Expand Down Expand Up @@ -2030,6 +2082,10 @@ cppflags-$(CONFIG_NAN_CONVERGENCE) += -DWLAN_FEATURE_NAN_CONVERGENCE

cppflags-$(CONFIG_FEATURE_WLAN_D0WOW) += -DFEATURE_WLAN_D0WOW

cppflags-$(CONFIG_WLAN_FEATURE_PKT_CAPTURE) += -DWLAN_FEATURE_PKT_CAPTURE

cppflags-$(CONFIG_FEATURE_WLAN_TIME_SYNC_FTM) += -DFEATURE_WLAN_TIME_SYNC_FTM

cppflags-$(CONFIG_QCA_WIFI_NAPIER_EMULATION) += -DQCA_WIFI_NAPIER_EMULATION
cppflags-$(CONFIG_SHADOW_V2) += -DCONFIG_SHADOW_V2
cppflags-$(CONFIG_QCA6290_HEADERS_DEF) += -DQCA6290_HEADERS_DEF
Expand Down Expand Up @@ -2111,6 +2167,9 @@ cppflags-$(CONFIG_QCACLD_FEATURE_MPTA_HELPER) += -DFEATURE_MPTA_HELPER
#Flag to enable get hw capability
cppflags-$(CONFIG_QCACLD_FEATURE_HW_CAPABILITY) += -DFEATURE_HW_CAPABILITY

cppflags-$(CONFIG_WLAN_CUSTOM_DSCP_UP_MAP) += -DWLAN_CUSTOM_DSCP_UP_MAP
cppflags-$(CONFIG_WLAN_SEND_DSCP_UP_MAP_TO_FW) += -DWLAN_SEND_DSCP_UP_MAP_TO_FW

ifdef CONFIG_SCHED_HISTORY_SIZE
ccflags-y += -DWLAN_SCHED_HISTORY_SIZE=$(CONFIG_SCHED_HISTORY_SIZE)
endif
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2020 The Linux Foundation. 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
Expand Down Expand Up @@ -897,7 +897,6 @@ action_oui_search(struct action_oui_psoc_priv *psoc_priv,
qdf_mutex_acquire(&oui_priv->extension_lock);
if (qdf_list_empty(extension_list)) {
qdf_mutex_release(&oui_priv->extension_lock);
action_oui_debug("OUI List Empty");
return false;
}

Expand All @@ -913,44 +912,25 @@ action_oui_search(struct action_oui_psoc_priv *psoc_priv,
* to other checks skipping the OUI and vendor data checks
*/

if (!(extension->info_mask & ACTION_OUI_INFO_OUI)) {
action_oui_debug("Wildcard OUI found");
if (!(extension->info_mask & ACTION_OUI_INFO_OUI))
wildcard_oui = true;
}

oui_ptr = action_oui_get_oui_ptr(extension, attr);

if (!oui_ptr && !wildcard_oui) {
action_oui_debug("No matching IE found for OUI");
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE,
QDF_TRACE_LEVEL_DEBUG,
extension->oui,
extension->oui_length);
if (!oui_ptr && !wildcard_oui)
goto next;
}

action_oui_debug("IE found for OUI");
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE,
QDF_TRACE_LEVEL_DEBUG,
extension->oui,
extension->oui_length);

if (extension->data_length && !wildcard_oui &&
!check_for_vendor_oui_data(extension, oui_ptr)) {
action_oui_debug("Vendor IE Data mismatch");
!check_for_vendor_oui_data(extension, oui_ptr))
goto next;
}


if ((extension->info_mask & ACTION_OUI_INFO_MAC_ADDRESS) &&
!check_for_vendor_ap_mac(extension, attr)) {
action_oui_debug("Vendor IE MAC Mismatch");
!check_for_vendor_ap_mac(extension, attr))
goto next;
}

if (!check_for_vendor_ap_capabilities(extension, attr)) {
action_oui_debug("Vendor IE capabilties mismatch");
if (!check_for_vendor_ap_capabilities(extension, attr))
goto next;
}

action_oui_debug("Vendor AP/STA found for OUI");
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,
Expand Down
Expand Up @@ -141,8 +141,6 @@ QDF_STATUS ucfg_action_oui_send(struct wlan_objmgr_psoc *psoc)
QDF_STATUS status = QDF_STATUS_E_INVAL;
uint32_t id;

ACTION_OUI_ENTER();

if (!psoc) {
action_oui_err("psoc is NULL");
goto exit;
Expand All @@ -161,7 +159,7 @@ QDF_STATUS ucfg_action_oui_send(struct wlan_objmgr_psoc *psoc)
}

exit:
ACTION_OUI_EXIT();

return status;
}

Expand Down
@@ -0,0 +1,173 @@
/*
* Copyright (c) 2020, The Linux Foundation. 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
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

/**
* DOC: Declare private API which shall be used internally only
* in ftm_time_sync component. This file shall include prototypes of
* various notification handlers and logging functions.
*
* Note: This API should be never accessed out of ftm_time_sync component.
*/

#ifndef _FTM_TIME_SYNC_MAIN_H_
#define _FTM_TIME_SYNC_MAIN_H_

#include <qdf_types.h>
#include <qdf_defer.h>
#include "ftm_time_sync_priv.h"
#include "ftm_time_sync_objmgr.h"

#define ftm_time_sync_log(level, args...) \
QDF_TRACE(QDF_MODULE_ID_FTM_TIME_SYNC, level, ## args)

#define ftm_time_sync_logfl(level, format, args...) \
ftm_time_sync_log(level, FL(format), ## args)

#define ftm_time_sync_fatal(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_FATAL, format, ## args)
#define ftm_time_sync_err(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_ERROR, format, ## args)
#define ftm_time_sync_warn(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_WARN, format, ## args)
#define ftm_time_sync_info(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_INFO, format, ## args)
#define ftm_time_sync_debug(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_DEBUG, format, ## args)

#define FTM_TIME_SYNC_ENTER() ftm_time_sync_debug("enter")
#define FTM_TIME_SYNC_EXIT() ftm_time_sync_debug("exit")

/**
* ftm_time_sync_vdev_create_notification() - Handler for vdev create notify.
* @vdev: vdev which is going to be created by objmgr
* @arg: argument for notification handler
*
* Allocate and attach vdev private object.
*
* Return: QDF_STATUS
*/
QDF_STATUS ftm_time_sync_vdev_create_notification(struct wlan_objmgr_vdev *vdev,
void *arg);

/**
* ftm_time_sync_vdev_destroy_notification() - Handler for vdev destroy notify.
* @vdev: vdev which is going to be destroyed by objmgr
* @arg: argument for notification handler
*
* Deallocate and detach vdev private object.
*
* Return QDF_STATUS
*/
QDF_STATUS
ftm_time_sync_vdev_destroy_notification(struct wlan_objmgr_vdev *vdev,
void *arg);

/**
* ftm_time_sync_psoc_create_notification() - Handler for psoc create notify.
* @psoc: psoc which is going to be created by objmgr
* @arg: argument for notification handler
*
* Allocate and attach psoc private object.
*
* Return: QDF_STATUS
*/
QDF_STATUS
ftm_time_sync_psoc_create_notification(struct wlan_objmgr_psoc *psoc,
void *arg);

/**
* ftm_time_sync_psoc_destroy_notification() - Handler for psoc destroy notify.
* @psoc: psoc which is going to be destroyed by objmgr
* @arg: argument for notification handler
*
* Deallocate and detach psoc private object.
*
* Return: QDF_STATUS
*/
QDF_STATUS
ftm_time_sync_psoc_destroy_notification(struct wlan_objmgr_psoc *psoc,
void *arg);

QDF_STATUS ftm_time_sync_psoc_config(struct wlan_objmgr_psoc *psoc,
struct ftm_time_sync_cfg *cfg);
/**
* ftm_time_sync_is_enable() - Function to advertise feature is enabled or not
* @psoc: psoc context
*
* This function advertises whether the feature is enabled or not.
*
* Return: true if enable, false if disable
*/
bool ftm_time_sync_is_enable(struct wlan_objmgr_psoc *psoc);

/**
* ftm_time_sync_set_enable() - Handler to enable the feature
* @psoc: psoc context
* @value: value to be set
*
* This function is used to enable the ftm time sync feature.
* The feature is enabled iff both ini and wmi service is advertised by
* firmware.
*
* Return: None
*/
void ftm_time_sync_set_enable(struct wlan_objmgr_psoc *psoc, bool value);

/**
* ftm_time_sync_get_mode() - API to get the ftm time sync mode
* @psoc: psoc context
*
* Return: enum ftm_time_sync_mode
*/
enum ftm_time_sync_mode ftm_time_sync_get_mode(struct wlan_objmgr_psoc *psoc);

/**
* ftm_time_sync_get_role() - API to get the ftm time sync role
* @psoc: psoc context
*
* Return: enum ftm_time_sync_role
*/
enum ftm_time_sync_role ftm_time_sync_get_role(struct wlan_objmgr_psoc *psoc);

/**
* ftm_time_sync_send_trigger() - Handler for sending trigger cmd to FW
* @vdev: vdev for which FTM time_sync trigger cmd to be send
*
* This function sends the ftm trigger cmd to target.
*
* Return: QDF_STATUS
*/
QDF_STATUS ftm_time_sync_send_trigger(struct wlan_objmgr_vdev *vdev);

/**
* ftm_time_sync_stop() - Handler for stopping the FTM time sync
* @vdev: vdev for which FTM time_sync feature to be stopped
*
* This function stops the ftm time sync functionality.
*
* Return: QDF_STATUS
*/
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_ */

0 comments on commit f6de892

Please sign in to comment.