From b692339f5aa57dfe8d12dc831ac573080bc6c8d4 Mon Sep 17 00:00:00 2001 From: Abhiram Jogadenu Date: Tue, 12 Feb 2019 13:54:42 +0530 Subject: [PATCH] qcacmn: Add umac support for CFR Add UMAC support for CFR module. CRs-Fixed: 2372061 Change-Id: Idf5991d2cb43e8165ae4eed12d675f1039f4bc77 --- umac/cmn_services/inc/wlan_cmn.h | 1 + .../obj_mgr/inc/wlan_objmgr_cmn.h | 2 ++ .../lmac_if/inc/wlan_lmac_if_def.h | 32 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/umac/cmn_services/inc/wlan_cmn.h b/umac/cmn_services/inc/wlan_cmn.h index 60f074012ae8..f0a6d832ea25 100644 --- a/umac/cmn_services/inc/wlan_cmn.h +++ b/umac/cmn_services/inc/wlan_cmn.h @@ -306,6 +306,7 @@ enum wlan_umac_comp_id { WLAN_UMAC_COMP_CP_STATS = 27, WLAN_UMAC_COMP_ACTION_OUI = 28, WLAN_UMAC_COMP_FWOL = 29, + WLAN_UMAC_COMP_CFR = 30, WLAN_UMAC_COMP_ID_MAX, }; diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_cmn.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_cmn.h index 8f15a573bd90..fcc16ddb77b0 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_cmn.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_cmn.h @@ -286,6 +286,7 @@ typedef enum { WLAN_TGT_IF_DP_PEER_REF_ID = 45, WLAN_MLME_SER_IF_ID = 46, WLAN_SCHEDULER_ID = 47, + WLAN_CFR_ID = 48, WLAN_REF_ID_MAX, } wlan_objmgr_ref_dbgid; @@ -347,6 +348,7 @@ static inline char *string_from_dbgid(wlan_objmgr_ref_dbgid id) "WLAN_TGT_IF_DP_PEER_REF_ID", "WLAN_MLME_SER_IF_ID", "WLAN_SCHEDULER_ID", + "WLAN_CFR_ID", "WLAN_REF_ID_MAX"}; return (char *)strings[id]; diff --git a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h index 7462940f2a21..a7d32c8911ae 100644 --- a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h +++ b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h @@ -47,6 +47,10 @@ #include "wlan_crypto_global_def.h" #endif +#ifdef WLAN_CFR_ENABLE +#include "wlan_cfr_utils_api.h" +#endif + #include #include @@ -456,6 +460,30 @@ struct wlan_lmac_if_sa_api_tx_ops { #endif +#ifdef WLAN_CFR_ENABLE +/** + * struct wlan_lmac_if_cfr_tx_ops - CFR specific tx function pointers + * @cfr_init_pdev: Initialize CFR + * @cfr_deinit_pdev: De-initialize CFR + * @cfr_enable_cfr_timer: Function to enable CFR timer + * @cfr_start_capture: Function to start CFR capture + * @cfr_stop_capture: Function to stop CFR capture + */ +struct wlan_lmac_if_cfr_tx_ops { + int (*cfr_init_pdev)(struct wlan_objmgr_psoc *psoc, + struct wlan_objmgr_pdev *pdev); + int (*cfr_deinit_pdev)(struct wlan_objmgr_psoc *psoc, + struct wlan_objmgr_pdev *pdev); + int (*cfr_enable_cfr_timer)(struct wlan_objmgr_pdev *pdev, + uint32_t cfr_timer); + int (*cfr_start_capture)(struct wlan_objmgr_pdev *pdev, + struct wlan_objmgr_peer *peer, + struct cfr_capture_params *params); + int (*cfr_stop_capture)(struct wlan_objmgr_pdev *pdev, + struct wlan_objmgr_peer *peer); +}; +#endif /* WLAN_CFR_ENABLE */ + #ifdef WLAN_CONV_SPECTRAL_ENABLE struct wmi_spectral_cmd_ops; /** @@ -819,6 +847,10 @@ struct wlan_lmac_if_tx_ops { struct wlan_lmac_if_sa_api_tx_ops sa_api_tx_ops; #endif +#ifdef WLAN_CFR_ENABLE + struct wlan_lmac_if_cfr_tx_ops cfr_tx_ops; +#endif + #ifdef WLAN_CONV_SPECTRAL_ENABLE struct wlan_lmac_if_sptrl_tx_ops sptrl_tx_ops; #endif