qcacmn: CFR WMI implementation
CFR config is passed on to FW through WMI CFR feature code is moved into feature specific WMI file. Change-Id: I00b57ea2ef4ec5520eb565910ac2c0a6478170e3 CRs-Fixed: 2582846
Tento commit je obsažen v:
@@ -3736,31 +3736,6 @@ QDF_STATUS wmi_unified_send_mws_coex_req_cmd(struct wmi_unified *wmi_handle,
|
||||
QDF_STATUS
|
||||
wmi_unified_send_idle_trigger_monitor(wmi_unified_t wmi_handle, uint8_t val);
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
/**
|
||||
* wmi_unified_send_peer_cfr_capture_cmd() - WMI function to start CFR capture
|
||||
* for a peer
|
||||
* @wmi_handle: WMI handle
|
||||
* @param: configuration params for capture
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
|
||||
*/
|
||||
QDF_STATUS
|
||||
wmi_unified_send_peer_cfr_capture_cmd(wmi_unified_t wmi_handle,
|
||||
struct peer_cfr_params *param);
|
||||
/**
|
||||
* wmi_extract_cfr_peer_tx_event_param() - WMI function to extract cfr tx event
|
||||
* for a peer
|
||||
* @wmi_handle: WMI handle
|
||||
* @evt_buf: Buffer holding event data
|
||||
* @peer_tx_event: pointer to hold tx event data
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
|
||||
*/
|
||||
QDF_STATUS
|
||||
wmi_extract_cfr_peer_tx_event_param(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
wmi_cfr_peer_tx_event_param *peer_tx_event);
|
||||
#endif /* WLAN_CFR_ENABLE */
|
||||
|
||||
#ifdef WIFI_POS_CONVERGED
|
||||
/**
|
||||
|
60
wmi/inc/wmi_unified_cfr_api.h
Normální soubor
60
wmi/inc/wmi_unified_cfr_api.h
Normální soubor
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright (c) 2019, 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.
|
||||
*/
|
||||
|
||||
#ifndef _WMI_UNIFIED_CFR_API_H_
|
||||
#define _WMI_UNIFIED_CFR_API_H_
|
||||
|
||||
#include "wmi_unified_param.h"
|
||||
#include "wmi_unified_cfr_param.h"
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
/**
|
||||
* wmi_unified_send_peer_cfr_capture_cmd() - WMI function to start CFR capture
|
||||
* for a peer
|
||||
* @wmi_handle: WMI handle
|
||||
* @param: configuration params for capture
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
|
||||
*/
|
||||
QDF_STATUS
|
||||
wmi_unified_send_peer_cfr_capture_cmd(wmi_unified_t wmi_handle,
|
||||
struct peer_cfr_params *param);
|
||||
/**
|
||||
* wmi_extract_cfr_peer_tx_event_param() - WMI function to extract cfr tx event
|
||||
* for a peer
|
||||
* @wmi_handle: WMI handle
|
||||
* @evt_buf: Buffer holding event data
|
||||
* @peer_tx_event: pointer to hold tx event data
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
|
||||
*/
|
||||
QDF_STATUS
|
||||
wmi_extract_cfr_peer_tx_event_param(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
wmi_cfr_peer_tx_event_param *peer_tx_event);
|
||||
|
||||
#ifdef WLAN_ENH_CFR_ENABLE
|
||||
/**
|
||||
* wmi_unified_send_cfr_rcc_cmd() - WMI function to send CFR RCC param
|
||||
* @wmi_handle: WMI handle
|
||||
* @cfg: pointer to RCC param
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
|
||||
*/
|
||||
QDF_STATUS wmi_unified_send_cfr_rcc_cmd(wmi_unified_t wmi_handle,
|
||||
struct cfr_rcc_param *cfg);
|
||||
#endif
|
||||
#endif /* WLAN_CFR_ENABLE */
|
||||
#endif /* _WMI_UNIFIED_CFR_API_H_ */
|
46
wmi/inc/wmi_unified_cfr_param.h
Normální soubor
46
wmi/inc/wmi_unified_cfr_param.h
Normální soubor
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright (c) 2019, 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.
|
||||
*/
|
||||
|
||||
#ifndef _WMI_UNIFIED_CFR_PARAM_H_
|
||||
#define _WMI_UNIFIED_CFR_PARAM_H_
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
|
||||
#define WMI_HOST_PEER_CFR_TIMER_ENABLE 1
|
||||
#define WMI_HOST_PEER_CFR_TIMER_DISABLE 0
|
||||
|
||||
|
||||
/**
|
||||
* struct peer_cfr_params - peer cfr capture cmd parameter
|
||||
* @request: enable/disable cfr capture
|
||||
* @macaddr: macaddr of the client
|
||||
* @vdev_id: vdev id
|
||||
* @periodicity: cfr capture period
|
||||
* @bandwidth: bandwidth of cfr capture
|
||||
* @capture_method: cfr capture method/type
|
||||
*/
|
||||
struct peer_cfr_params {
|
||||
uint32_t request;
|
||||
uint8_t *macaddr;
|
||||
uint32_t vdev_id;
|
||||
uint32_t periodicity;
|
||||
uint32_t bandwidth;
|
||||
uint32_t capture_method;
|
||||
};
|
||||
|
||||
|
||||
#endif /* WLAN_CFR_ENABLE */
|
||||
#endif /* _WMI_UNIFIED_CFR_PARAM_H_ */
|
@@ -710,30 +710,6 @@ struct vdev_nss_chains {
|
||||
bool disable_tx_mrc[NSS_CHAINS_BAND_MAX];
|
||||
};
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
|
||||
#define WMI_HOST_PEER_CFR_TIMER_ENABLE 1
|
||||
#define WMI_HOST_PEER_CFR_TIMER_DISABLE 0
|
||||
|
||||
/**
|
||||
* struct peer_cfr_params - peer cfr capture cmd parameter
|
||||
* @request: enable/disable cfr capture
|
||||
* @macaddr: macaddr of the client
|
||||
* @vdev_id: vdev id
|
||||
* @periodicity: cfr capture period
|
||||
* @bandwidth: bandwidth of cfr capture
|
||||
* @capture_method: cfr capture method/type
|
||||
*/
|
||||
struct peer_cfr_params {
|
||||
uint32_t request;
|
||||
uint8_t *macaddr;
|
||||
uint32_t vdev_id;
|
||||
uint32_t periodicity;
|
||||
uint32_t bandwidth;
|
||||
uint32_t capture_method;
|
||||
};
|
||||
|
||||
#endif /* WLAN_CFR_ENABLE */
|
||||
|
||||
/**
|
||||
* struct peer_delete_params - peer delete cmd parameter
|
||||
|
@@ -65,6 +65,10 @@
|
||||
#include <wlan_interop_issues_ap_public_structs.h>
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
#include <wmi_unified_cfr_param.h>
|
||||
#endif
|
||||
|
||||
#define WMI_UNIFIED_MAX_EVENT 0x100
|
||||
|
||||
#ifdef WMI_EXT_DBG
|
||||
@@ -2022,9 +2026,6 @@ QDF_STATUS (*extract_dfs_status_from_fw)(wmi_unified_t wmi_handle,
|
||||
uint32_t *dfs_status_check);
|
||||
#endif
|
||||
|
||||
QDF_STATUS
|
||||
(*extract_cfr_peer_tx_event_param)(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
wmi_cfr_peer_tx_event_param * peer_tx_event);
|
||||
|
||||
#ifdef OBSS_PD
|
||||
QDF_STATUS (*send_obss_spatial_reuse_set)(wmi_unified_t wmi_handle,
|
||||
@@ -2046,9 +2047,18 @@ QDF_STATUS (*send_peer_del_all_wds_entries_cmd)(wmi_unified_t wmi_handle,
|
||||
struct peer_del_all_wds_entries_params *param);
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
QDF_STATUS
|
||||
(*extract_cfr_peer_tx_event_param)(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
wmi_cfr_peer_tx_event_param *peer_tx_event);
|
||||
|
||||
QDF_STATUS (*send_peer_cfr_capture_cmd)(wmi_unified_t wmi_handle,
|
||||
struct peer_cfr_params *param);
|
||||
#ifdef WLAN_ENH_CFR_ENABLE
|
||||
QDF_STATUS (*send_cfr_rcc_cmd)(wmi_unified_t wmi_handle,
|
||||
struct cfr_rcc_param *cfg);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WMI_AP_SUPPORT
|
||||
QDF_STATUS (*send_vdev_pcp_tid_map_cmd)(wmi_unified_t wmi_handle,
|
||||
struct vap_pcp_tid_map_params *param);
|
||||
@@ -2627,4 +2637,12 @@ static inline QDF_STATUS wmi_ext_dbgfs_deinit(struct wmi_unified *wmi_handle)
|
||||
}
|
||||
|
||||
#endif /*WMI_EXT_DBG */
|
||||
|
||||
#ifdef WLAN_CFR_ENABLE
|
||||
void wmi_cfr_attach_tlv(struct wmi_unified *wmi_handle);
|
||||
#else
|
||||
static inline void wmi_cfr_attach_tlv(struct wmi_unified *wmi_handle)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele