mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
qcacld-3.0: Send vdev nss params to fw
Infra to send vdev nss chain user params to the fw. Change-Id: I907ffe0906712b328e276527412530225c23b68e CRs-Fixed: 2347499
This commit is contained in:
parent
7cb6a32f47
commit
748c7274d3
3 changed files with 48 additions and 2 deletions
|
|
@ -31,6 +31,7 @@
|
|||
#include "csr_internal.h"
|
||||
#include "wma_types.h"
|
||||
#include "wma_if.h"
|
||||
#include "wma.h"
|
||||
#include "wma_fips_api.h"
|
||||
#include "qdf_trace.h"
|
||||
#include "sme_trace.h"
|
||||
|
|
@ -5063,11 +5064,26 @@ sme_nss_chains_update(mac_handle_t mac_handle,
|
|||
sme_err("Got NULL vdev obj, returning");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
status = sme_acquire_global_lock(&mac_ctx->sme);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto release_ref;
|
||||
|
||||
status = sme_validate_nss_chains_config(vdev, user_cfg);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto end;
|
||||
goto release_lock;
|
||||
sme_debug("User params verified, sending to fw vdev id %d", vdev_id);
|
||||
|
||||
end:
|
||||
status = wma_vdev_nss_chain_params_send(vdev->vdev_objmgr.vdev_id,
|
||||
user_cfg);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
sme_err("params sent failed to fw vdev id %d", vdev_id);
|
||||
goto release_lock;
|
||||
}
|
||||
|
||||
release_lock:
|
||||
sme_release_global_lock(&mac_ctx->sme);
|
||||
|
||||
release_ref:
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1290,6 +1290,20 @@ typedef struct {
|
|||
} t_wma_handle, *tp_wma_handle;
|
||||
|
||||
extern void cds_wma_complete_cback(void);
|
||||
|
||||
/**
|
||||
* wma_vdev_nss_chain_params_send() - send vdev nss chain params to fw.
|
||||
* @vdev_id: vdev_id
|
||||
* @user_cfg: pointer to the params structure
|
||||
*
|
||||
* This function sends nss chain params to the fw
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on error
|
||||
*/
|
||||
QDF_STATUS
|
||||
wma_vdev_nss_chain_params_send(uint8_t vdev_id,
|
||||
struct wlan_mlme_nss_chains *user_cfg);
|
||||
|
||||
extern void wma_send_regdomain_info_to_fw(uint32_t reg_dmn, uint16_t regdmn2G,
|
||||
uint16_t regdmn5G, uint8_t ctl2G,
|
||||
uint8_t ctl5G);
|
||||
|
|
|
|||
|
|
@ -1701,6 +1701,22 @@ static void wma_discard_fw_event(struct scheduler_msg *msg)
|
|||
msg->type = 0;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wma_vdev_nss_chain_params_send(uint8_t vdev_id,
|
||||
struct wlan_mlme_nss_chains *user_cfg)
|
||||
{
|
||||
tp_wma_handle wma_handle = cds_get_context(QDF_MODULE_ID_WMA);
|
||||
|
||||
if (!wma_handle) {
|
||||
WMA_LOGE("%s: wma_handle is NULL", __func__);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
return wmi_unified_vdev_nss_chain_params_send(wma_handle->wmi_handle,
|
||||
vdev_id,
|
||||
user_cfg);
|
||||
}
|
||||
|
||||
/**
|
||||
* wma_process_fw_event_handler() - common event handler to serialize
|
||||
* event processing through mc_thread
|
||||
|
|
|
|||
Loading…
Reference in a new issue