qcacmn: Add support for MGMT Rx REO filter config command

WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMD is used to the configure re-order
criterion for incoming management frames.
Add target_if and tgt layer support for the same command.

Change-Id: I5daaf4d095774d751d98a27fd77dec9daaa6b16a
CRs-Fixed: 2960488
This commit is contained in:
Shiva Krishna Pittala
2021-05-20 19:05:26 +05:30
gecommit door Madan Koyyalamudi
bovenliggende 86812026a0
commit 93c0702c78
6 gewijzigde bestanden met toevoegingen van 88 en 17 verwijderingen

Bestand weergeven

@@ -24,6 +24,8 @@
#include <target_if.h>
#include <wlan_mgmt_txrx_rx_reo_public_structs.h>
#include <target_if_mgmt_txrx_rx_reo.h>
#include <wlan_lmac_if_api.h>
#include <init_deinit_lmac.h>
/**
* target_if_mgmt_rx_reo_fw_consumed_event_handler() - WMI event handler to
@@ -221,6 +223,37 @@ target_if_mgmt_rx_reo_read_snapshot(
return status;
}
/**
* target_if_mgmt_rx_reo_filter_config() - Configure MGMT Rx REO filter
* @pdev: Pointer to pdev objmgr
* @filter: Pointer to MGMT Rx REO filter
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
static QDF_STATUS
target_if_mgmt_rx_reo_filter_config(
struct wlan_objmgr_pdev *pdev,
struct mgmt_rx_reo_filter *filter)
{
QDF_STATUS status;
struct wmi_unified *wmi_handle;
uint8_t pdev_id;
wmi_handle = lmac_get_pdev_wmi_handle(pdev);
if (!wmi_handle) {
mgmt_rx_reo_err("Invalid WMI handle");
return QDF_STATUS_E_INVAL;
}
pdev_id = wlan_objmgr_pdev_get_pdev_id(pdev);
status = wmi_unified_mgmt_rx_reo_filter_config_cmd(wmi_handle, pdev_id,
filter);
if (QDF_IS_STATUS_ERROR(status))
mgmt_rx_reo_err("Unable to send MGMT Rx REO Filter config cmd");
return status;
}
QDF_STATUS
target_if_mgmt_rx_reo_extract_reo_params(
wmi_unified_t wmi_handle, void *evt_buf,
@@ -248,6 +281,8 @@ target_if_mgmt_rx_reo_tx_ops_register(
mgmt_rx_reo_tx_ops = &mgmt_txrx_tx_ops->mgmt_rx_reo_tx_ops;
mgmt_rx_reo_tx_ops->read_mgmt_rx_reo_snapshot =
target_if_mgmt_rx_reo_read_snapshot;
mgmt_rx_reo_tx_ops->mgmt_rx_reo_filter_config =
target_if_mgmt_rx_reo_filter_config;
return QDF_STATUS_SUCCESS;
}