summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelvaraj, Sridhar <sselvara@qti.qualcomm.com>2016-04-19 14:03:52 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-04-20 18:27:19 +0530
commit100b79cb8e42100c00c45b092244696bc2e7d291 (patch)
tree8dd82390b9420a1f569af5afe7afaef3f403899c
parent43cc287ab0ff547d649c86d6352e83943a0b8b16 (diff)
qcacld-2.0: Update tx/rx aggregation size parameters in CSR
Add and update tx/rx aggregation size parameters while getting global settings of CSR so as to maintain the same values across the config changes(ie channel change etc) and properly plumb the same to firmware. Add tx/rx aggregation size parameters for IBSS mode as well. Change-Id: I7a789abbbbf659f04822b89c9c11cf220839d008 CRs-Fixed: 1004755
-rw-r--r--CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c4
-rw-r--r--CORE/SERVICES/WMA/wma.c13
-rw-r--r--CORE/SERVICES/WMA/wma.h2
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c4
-rw-r--r--CORE/WDA/inc/legacy/halMsgApi.h2
5 files changed, 25 insertions, 0 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
index 86879546308d..6bbf10d8963f 100644
--- a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
@@ -1732,6 +1732,10 @@ limMlmAddBss (
if (VOS_IBSS_MODE == pAddBssParams->halPersona) {
pAddBssParams->nss_2g = pMac->vdev_type_nss_2g.ibss;
pAddBssParams->nss_5g = pMac->vdev_type_nss_5g.ibss;
+ pAddBssParams->tx_aggregation_size =
+ pMac->roam.configParam.tx_aggregation_size;
+ pAddBssParams->rx_aggregation_size =
+ pMac->roam.configParam.rx_aggregation_size;
}
pAddBssParams->dot11_mode = psessionEntry->dot11mode;
limLog(pMac, LOG2, FL("dot11_mode:%d"), pAddBssParams->dot11_mode);
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 93d369107fdc..8fc7bf11bf3f 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -1977,6 +1977,10 @@ static void wma_recreate_ibss_vdev_and_bss_peer(tp_wma_handle wma, u_int8_t vdev
add_sta_self_param.status = 0;
add_sta_self_param.nss_2g = wma->interfaces[vdev_id].nss_2g;
add_sta_self_param.nss_5g = wma->interfaces[vdev_id].nss_5g;
+ add_sta_self_param.tx_aggregation_size =
+ wma->interfaces[vdev_id].tx_aggregation_size;
+ add_sta_self_param.rx_aggregation_size =
+ wma->interfaces[vdev_id].rx_aggregation_size;
/* delete old ibss vdev */
del_sta_param.sessionId = vdev_id;
@@ -15594,6 +15598,11 @@ static void wma_add_bss_ibss_mode(tp_wma_handle wma, tpAddBssParams add_bss)
nss_5g = wma->interfaces[vdev_id].nss_5g;
wma_set_bss_rate_flags(&wma->interfaces[vdev_id], add_bss);
+ wma->interfaces[vdev_id].tx_aggregation_size =
+ add_bss->tx_aggregation_size;
+ wma->interfaces[vdev_id].rx_aggregation_size =
+ add_bss->rx_aggregation_size;
+
vdev = wma_find_vdev_by_id(wma, vdev_id);
if (!vdev) {
WMA_LOGE("%s: vdev not found for vdev id %d.",
@@ -15633,6 +15642,10 @@ static void wma_add_bss_ibss_mode(tp_wma_handle wma, tpAddBssParams add_bss)
add_sta_self_param.status = 0;
add_sta_self_param.nss_2g = add_bss->nss_2g;
add_sta_self_param.nss_5g = add_bss->nss_5g;
+ add_sta_self_param.tx_aggregation_size =
+ add_bss->tx_aggregation_size;
+ add_sta_self_param.rx_aggregation_size =
+ add_bss->rx_aggregation_size;
vdev = wma_vdev_attach(wma, &add_sta_self_param, 0);
if (!vdev) {
diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h
index 3c10af968e35..d1075e73feb0 100644
--- a/CORE/SERVICES/WMA/wma.h
+++ b/CORE/SERVICES/WMA/wma.h
@@ -575,6 +575,8 @@ struct wma_txrx_node {
uint8_t wps_state;
uint8_t nss_2g;
uint8_t nss_5g;
+ uint32_t tx_aggregation_size;
+ uint32_t rx_aggregation_size;
uint8_t wep_default_key_idx;
bool is_vdev_valid;
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 3cfdd834d532..885342544fec 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -2255,6 +2255,10 @@ eHalStatus csrGetConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
pParam->edca_vi_aifs = pMac->roam.configParam.edca_vi_aifs;
pParam->edca_bk_aifs = pMac->roam.configParam.edca_bk_aifs;
pParam->edca_be_aifs = pMac->roam.configParam.edca_be_aifs;
+ pParam->tx_aggregation_size =
+ pMac->roam.configParam.tx_aggregation_size;
+ pParam->rx_aggregation_size =
+ pMac->roam.configParam.rx_aggregation_size;
status = eHAL_STATUS_SUCCESS;
}
return (status);
diff --git a/CORE/WDA/inc/legacy/halMsgApi.h b/CORE/WDA/inc/legacy/halMsgApi.h
index b48b35a5bdaf..3ead091673b0 100644
--- a/CORE/WDA/inc/legacy/halMsgApi.h
+++ b/CORE/WDA/inc/legacy/halMsgApi.h
@@ -542,6 +542,8 @@ typedef struct
uint8_t wps_state;
uint8_t nss_2g;
uint8_t nss_5g;
+ uint32_t tx_aggregation_size;
+ uint32_t rx_aggregation_size;
} tAddBssParams, * tpAddBssParams;
typedef struct