From df221b7f73a1ecba507288bc26fc656f4a14381b Mon Sep 17 00:00:00 2001 From: Naveen Rawat Date: Wed, 15 Nov 2017 11:32:31 -0800 Subject: [PATCH] qcacld-3.0: Avoid WMI_HE_OPS macros in lim Avoid using WMI HE Ops macro in lim and use dot11f struct for HE Ops instead. Keep the tranlation to FW interpratation of HE Ops in wma layer only. Change-Id: Ie94795541aaddb7ae291ff451b938ebb96f74dbf CRs-Fixed: 2145510 --- .../src/pe/lim/lim_process_sme_req_messages.c | 7 +++---- core/mac/src/pe/lim/lim_utils.c | 21 +++---------------- core/mac/src/pe/sch/sch_beacon_process.c | 7 +++---- core/wma/inc/wma_he.h | 4 ++-- core/wma/inc/wma_if.h | 3 ++- core/wma/src/wma_he.c | 16 ++++++++++---- core/wma/src/wma_mgmt.c | 19 +++++++++-------- 7 files changed, 35 insertions(+), 42 deletions(-) diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index dc5857954d78..b9928e973274 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -5990,10 +5990,9 @@ void lim_process_set_he_bss_color(tpAniSirGlobal mac_ctx, uint32_t *msg_buf) session_entry->he_bss_color_change.new_color = bss_color->bss_color; session_entry->he_op.bss_color = session_entry->he_bss_color_change.new_color; - WMI_HEOPS_COLOR_SET(beacon_params.he_ops, - session_entry->he_op.bss_color); - WMI_HEOPS_BSSCOLORDISABLE_SET(beacon_params.he_ops, - session_entry->he_op.bss_col_disabled); + beacon_params.bss_color = session_entry->he_op.bss_color; + beacon_params.bss_color_disabled = + session_entry->he_op.bss_col_disabled; session_entry->bss_color_changing = 1; if (sch_set_fixed_beacon_fields(mac_ctx, session_entry) != diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 563ce998b773..1d8bba1406b1 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -5870,30 +5870,15 @@ bool lim_check_vht_op_mode_change(tpAniSirGlobal pMac, tpPESession psessionEntry #ifdef WLAN_FEATURE_11AX_BSS_COLOR bool lim_send_he_ie_update(tpAniSirGlobal mac_ctx, tpPESession pe_session) { - uint32_t he_ops = 0; - tDot11fIEhe_op *he_op = &pe_session->he_op; QDF_STATUS status; - WMI_HEOPS_COLOR_SET(he_ops, he_op->bss_color); - WMI_HEOPS_DEFPE_SET(he_ops, he_op->default_pe); - WMI_HEOPS_TWT_SET(he_ops, he_op->twt_required); - WMI_HEOPS_RTSTHLD_SET(he_ops, he_op->rts_threshold); - WMI_HEOPS_PARTBSSCOLOR_SET(he_ops, he_op->partial_bss_col); - WMI_HEOPS_TXBSSID_SET(he_ops, he_op->tx_bssid_ind); - WMI_HEOPS_BSSCOLORDISABLE_SET(he_ops, he_op->bss_col_disabled); status = wma_update_he_ops_ie(cds_get_context(QDF_MODULE_ID_WMA), - pe_session->smeSessionId, he_ops); - if (status != QDF_STATUS_SUCCESS) { - pe_err("Can't send for vdev_id[%d] he_ops[0x%x]", - pe_session->smeSessionId, he_ops); + pe_session->smeSessionId, + &pe_session->he_op); + if (QDF_IS_STATUS_ERROR(status)) return false; - } else { - pe_debug("successfully sent for vdev_id[%d] he_ops[0x%x]", - pe_session->smeSessionId, he_ops); - } return true; - } #endif diff --git a/core/mac/src/pe/sch/sch_beacon_process.c b/core/mac/src/pe/sch/sch_beacon_process.c index 38c8f875a997..afbaf5f4583b 100644 --- a/core/mac/src/pe/sch/sch_beacon_process.c +++ b/core/mac/src/pe/sch/sch_beacon_process.c @@ -989,10 +989,9 @@ static void sch_check_bss_color_ie(tpAniSirGlobal mac_ctx, ap_session); ap_session->he_op.bss_color = ap_session-> he_bss_color_change.new_color; - WMI_HEOPS_COLOR_SET(bcn_prm->he_ops, - ap_session->he_op.bss_color); - WMI_HEOPS_BSSCOLORDISABLE_SET(bcn_prm->he_ops, - ap_session->he_op.bss_col_disabled); + bcn_prm->bss_color = ap_session->he_op.bss_color; + bcn_prm->bss_color_disabled = + ap_session->he_op.bss_col_disabled; ap_session->bss_color_changing = 1; } else { /* update info for the bss color */ diff --git a/core/wma/inc/wma_he.h b/core/wma/inc/wma_he.h index 46d7b628ef92..e63665ac44fa 100644 --- a/core/wma/inc/wma_he.h +++ b/core/wma/inc/wma_he.h @@ -193,7 +193,7 @@ void wma_update_vdev_he_capable(struct wma_vdev_start_req *req, * Return: QDF_STATUS */ QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, uint8_t vdev_id, - uint32_t he_ops); + tDot11fIEhe_op *he_ops); /** * wma_get_he_capabilities() - Get HE capabilities from WMA @@ -282,7 +282,7 @@ static inline void wma_copy_vdev_start_he_ops(struct vdev_start_params *params, } static inline QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, - uint8_t vdev_id, uint32_t he_ops) + uint8_t vdev_id, tDot11fIEhe_op *he_ops) { return QDF_STATUS_SUCCESS; } diff --git a/core/wma/inc/wma_if.h b/core/wma/inc/wma_if.h index 16242924f281..e74afd79d94e 100644 --- a/core/wma/inc/wma_if.h +++ b/core/wma/inc/wma_if.h @@ -809,7 +809,8 @@ typedef struct { uint8_t fRIFSMode; uint16_t paramChangeBitmap; uint8_t smeSessionId; - uint32_t he_ops; + uint32_t bss_color; + bool bss_color_disabled; } tUpdateBeaconParams, *tpUpdateBeaconParams; /** diff --git a/core/wma/src/wma_he.c b/core/wma/src/wma_he.c index dc09d6c92b40..9487ce298208 100644 --- a/core/wma/src/wma_he.c +++ b/core/wma/src/wma_he.c @@ -1285,22 +1285,30 @@ void wma_update_vdev_he_capable(struct wma_vdev_start_req *req, } QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, uint8_t vdev_id, - uint32_t he_ops) + tDot11fIEhe_op *he_op) { QDF_STATUS ret; + uint32_t dword_he_op = 0; if (!wma) { WMA_LOGE(FL("wrong wma_handle....")); return QDF_STATUS_E_FAILURE; } + WMI_HEOPS_COLOR_SET(dword_he_op, he_op->bss_color); + WMI_HEOPS_DEFPE_SET(dword_he_op, he_op->default_pe); + WMI_HEOPS_TWT_SET(dword_he_op, he_op->twt_required); + WMI_HEOPS_RTSTHLD_SET(dword_he_op, he_op->rts_threshold); + WMI_HEOPS_PARTBSSCOLOR_SET(dword_he_op, he_op->partial_bss_col); + WMI_HEOPS_TXBSSID_SET(dword_he_op, he_op->tx_bssid_ind); + WMI_HEOPS_BSSCOLORDISABLE_SET(dword_he_op, he_op->bss_col_disabled); + + WMA_LOGD("vdev_id: %d HE_OPs: 0x%x", vdev_id, dword_he_op); ret = wma_vdev_set_param(wma->wmi_handle, vdev_id, - WMI_VDEV_PARAM_HEOPS_0_31, he_ops); + WMI_VDEV_PARAM_HEOPS_0_31, dword_he_op); if (QDF_IS_STATUS_ERROR(ret)) WMA_LOGE(FL("Failed to set HE OPs")); - else - WMA_LOGD(FL("Succesfully send he_ops[0x%x]"), he_ops); return ret; } diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index eccf84e17452..0b430ea3ecda 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -1452,23 +1452,24 @@ wma_update_beacon_interval(tp_wma_handle wma, uint8_t vdev_id, */ static void wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id, - uint32_t he_ops) + tUpdateBeaconParams *bcn_params) { QDF_STATUS ret; + uint32_t dword_he_ops = 0; + WMI_HEOPS_COLOR_SET(dword_he_ops, bcn_params->bss_color); + WMI_HEOPS_BSSCOLORDISABLE_SET(dword_he_ops, + bcn_params->bss_color_disabled); + WMA_LOGD("vdev: %d, update bss color, HE_OPS: 0x%x", + vdev_id, dword_he_ops); ret = wma_vdev_set_param(wma->wmi_handle, vdev_id, - WMI_VDEV_PARAM_BSS_COLOR, - he_ops); - + WMI_VDEV_PARAM_BSS_COLOR, dword_he_ops); if (QDF_IS_STATUS_ERROR(ret)) WMA_LOGE("Failed to update HE operations"); - else - WMA_LOGI("Updated HE operations %x for vdev %d", - he_ops, vdev_id); } #else static void wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id, - uint32_t he_ops) + tUpdateBeaconParams *bcn_params) { } #endif @@ -1505,7 +1506,7 @@ wma_process_update_beacon_params(tp_wma_handle wma, if (bcn_params->paramChangeBitmap & PARAM_BSS_COLOR_CHANGED) wma_update_bss_color(wma, bcn_params->smeSessionId, - bcn_params->he_ops); + bcn_params); } /**