qcacmn: Add APIs to extract MGMT Rx REO params tlv

When MGMT Rx REO feature is enabled, FW will be sending MGMT Rx REO
parameters TLV as part of WMI_MGMT_RX_EVENTID for the frames that require
reordering. Add APIs to extract the same.

Change-Id: I57b132927cf413384d680b5778bfe6a2e2737adf
CRs-Fixed: 2960471
This commit is contained in:
Shiva Krishna Pittala
2021-05-16 18:20:26 +05:30
committed by Madan Koyyalamudi
parent a4d289451e
commit 361f45dd82
7 changed files with 132 additions and 2 deletions

View File

@@ -26,6 +26,8 @@
#include <wlan_objmgr_psoc_obj.h>
#include <wlan_mgmt_txrx_rx_reo_utils_api.h>
#include <wlan_lmac_if_api.h>
#include <wlan_lmac_if_def.h>
#include <wmi_unified_param.h>
#ifdef WLAN_MGMT_RX_REO_SUPPORT
@@ -86,6 +88,20 @@ target_if_mgmt_rx_reo_get_rx_ops(struct wlan_objmgr_psoc *psoc)
return &mgmt_rx_ops->mgmt_rx_reo_rx_ops;
}
/**
* target_if_mgmt_rx_reo_extract_reo_params() - Extract MGMT Rx REO params from
* MGMT_RX_EVENT_ID
* @wmi_handle: wmi handle
* @evt_buf: pointer to event buffer
* @params: Pointer to MGMT Rx event parameters
*
* Return: QDF_STATUS of operation
*/
QDF_STATUS
target_if_mgmt_rx_reo_extract_reo_params(wmi_unified_t wmi_handle,
void *evt_buf,
struct mgmt_rx_event_params *params);
#else
/**
* target_if_mgmt_rx_reo_register_event_handlers() - Register management
@@ -126,5 +142,22 @@ target_if_mgmt_rx_reo_tx_ops_register(
{
return QDF_STATUS_SUCCESS;
}
/**
* target_if_mgmt_rx_reo_extract_reo_params() - Extract MGMT Rx REO params from
* MGMT_RX_EVENT_ID
* @wmi_handle: wmi handle
* @evt_buf: pointer to event buffer
* @hdr: Pointer to MGMT Rx event parameters
*
* Return: QDF_STATUS of operation
*/
static inline QDF_STATUS
target_if_mgmt_rx_reo_extract_reo_params(wmi_unified_t wmi_handle,
void *evt_buf,
struct mgmt_rx_event_params *hdr)
{
return QDF_STATUS_SUCCESS;
}
#endif /* WLAN_MGMT_RX_REO_SUPPORT */
#endif /* _TARGET_IF_MGMT_TXRX_RX_REO_H_ */

View File

@@ -221,6 +221,20 @@ target_if_mgmt_rx_reo_read_snapshot(
return status;
}
QDF_STATUS
target_if_mgmt_rx_reo_extract_reo_params(
wmi_unified_t wmi_handle, void *evt_buf,
struct mgmt_rx_event_params *params)
{
if (!params) {
mgmt_rx_reo_err("MGMT Rx event parameters is NULL");
return QDF_STATUS_E_INVAL;
}
return wmi_extract_mgmt_rx_reo_params(wmi_handle, evt_buf,
params->reo_params);
}
QDF_STATUS
target_if_mgmt_rx_reo_tx_ops_register(
struct wlan_lmac_if_mgmt_txrx_tx_ops *mgmt_txrx_tx_ops)