summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaram Sudha <dsudha@qti.qualcomm.com>2013-12-29 03:19:01 +0530
committerPrakash Dhavali <pdhavali@qca.qualcomm.com>2014-01-26 00:53:50 -0800
commitcef53cca2c7e83f498e2a2bc6511788a4ed525eb (patch)
tree23fb6743e987f27103fe8b1d7234eb02594395c3
parent5925acaa192d79239c56d758cbdfabea82865fc8 (diff)
qca-cld: support for AMPDU/AMSDU number on STA mode.
"iwpriv wlan0 ampdu/amsdu" command with number info is used for setting the count on ampdu/amsdu frames. The support was blocked with a macro. Released the macro and created wrapper function. Set ampdu/amsdu is verified with get ampdu/amsdu commands. Change-Id: Icb91ee68643ec0f0577a6783ccb12811d3491271 CRs-Fixed: 591483
-rw-r--r--CORE/CLD_TXRX/HTT/htt.h4
-rw-r--r--CORE/CLD_TXRX/HTT/htt_h2t.c2
-rw-r--r--CORE/CLD_TXRX/TXRX/ol_txrx.c2
-rw-r--r--CORE/SERVICES/COMMON/ol_htt_api.h2
-rw-r--r--CORE/SERVICES/COMMON/ol_txrx_dbg.h4
-rw-r--r--CORE/SERVICES/COMMON/wdi_in.h4
-rw-r--r--CORE/SERVICES/WMA/wma.c30
7 files changed, 20 insertions, 28 deletions
diff --git a/CORE/CLD_TXRX/HTT/htt.h b/CORE/CLD_TXRX/HTT/htt.h
index 68e9d172049b..926ff4444bad 100644
--- a/CORE/CLD_TXRX/HTT/htt.h
+++ b/CORE/CLD_TXRX/HTT/htt.h
@@ -113,9 +113,7 @@ enum htt_h2t_msg_type {
HTT_H2T_MSG_TYPE_RX_RING_CFG = 0x2,
HTT_H2T_MSG_TYPE_STATS_REQ = 0x3,
HTT_H2T_MSG_TYPE_SYNC = 0x4,
-#if defined(TEMP_AGGR_CFG)
HTT_H2T_MSG_TYPE_AGGR_CFG = 0x5,
-#endif
HTT_H2T_MSG_TYPE_FRAG_DESC_BANK_CFG = 0x6,
DEPRECATED_HTT_H2T_MSG_TYPE_MGMT_TX = 0x7, /* no longer used */
@@ -1157,7 +1155,6 @@ PREPACK struct htt_mgmt_tx_compl_ind {
} while (0)
-#if defined(TEMP_AGGR_CFG)
/**
* @brief HTT aggregation configuration
*/
@@ -1185,7 +1182,6 @@ PREPACK struct htt_mgmt_tx_compl_ind {
HTT_CHECK_SET_VAL(HTT_AGGR_CFG_MAX_NUM_AMSDU_SUBFRM, _val); \
((_var) |= ((_val) << HTT_AGGR_CFG_MAX_NUM_AMSDU_SUBFRM_S)); \
} while (0)
-#endif
/*=== target -> host messages ===============================================*/
diff --git a/CORE/CLD_TXRX/HTT/htt_h2t.c b/CORE/CLD_TXRX/HTT/htt_h2t.c
index 27701fbccd95..c6012b2577cd 100644
--- a/CORE/CLD_TXRX/HTT/htt_h2t.c
+++ b/CORE/CLD_TXRX/HTT/htt_h2t.c
@@ -575,7 +575,6 @@ htt_h2t_sync_msg(struct htt_pdev_t *pdev, u_int8_t sync_cnt)
return A_OK;
}
-#if defined(TEMP_AGGR_CFG)
int
htt_h2t_aggr_cfg_msg(struct htt_pdev_t *pdev,
int max_subfrms_ampdu,
@@ -636,4 +635,3 @@ htt_h2t_aggr_cfg_msg(struct htt_pdev_t *pdev,
HTCSendPkt(pdev->htc_pdev, &pkt->htc_pkt);
return 0;
}
-#endif
diff --git a/CORE/CLD_TXRX/TXRX/ol_txrx.c b/CORE/CLD_TXRX/TXRX/ol_txrx.c
index a8a0ba4c0114..8a6d70816b60 100644
--- a/CORE/CLD_TXRX/TXRX/ol_txrx.c
+++ b/CORE/CLD_TXRX/TXRX/ol_txrx.c
@@ -1743,7 +1743,6 @@ int ol_txrx_debug(ol_txrx_vdev_handle vdev, int debug_specs)
}
#endif
-#if defined(TEMP_AGGR_CFG)
int ol_txrx_aggr_cfg(ol_txrx_vdev_handle vdev,
int max_subfrms_ampdu,
int max_subfrms_amsdu)
@@ -1752,7 +1751,6 @@ int ol_txrx_aggr_cfg(ol_txrx_vdev_handle vdev,
max_subfrms_ampdu,
max_subfrms_amsdu);
}
-#endif
#if defined(TXRX_DEBUG_LEVEL) && TXRX_DEBUG_LEVEL > 5
void
diff --git a/CORE/SERVICES/COMMON/ol_htt_api.h b/CORE/SERVICES/COMMON/ol_htt_api.h
index 830e4c946dfd..0c6d47fdd083 100644
--- a/CORE/SERVICES/COMMON/ol_htt_api.h
+++ b/CORE/SERVICES/COMMON/ol_htt_api.h
@@ -185,12 +185,10 @@ A_STATUS
htt_h2t_sync_msg(htt_pdev_handle htt_pdev, u_int8_t sync_cnt);
-#if defined(TEMP_AGGR_CFG)
int
htt_h2t_aggr_cfg_msg(htt_pdev_handle htt_pdev,
int max_subfrms_ampdu,
int max_subfrms_amsdu);
-#endif
/**
* @brief Get the FW status
diff --git a/CORE/SERVICES/COMMON/ol_txrx_dbg.h b/CORE/SERVICES/COMMON/ol_txrx_dbg.h
index 9f9fe136a413..c58fe402ea1a 100644
--- a/CORE/SERVICES/COMMON/ol_txrx_dbg.h
+++ b/CORE/SERVICES/COMMON/ol_txrx_dbg.h
@@ -103,13 +103,9 @@ int ol_txrx_fw_stats_get(
struct ol_txrx_stats_req *req);
-#if defined(TEMP_AGGR_CFG)
int ol_txrx_aggr_cfg(ol_txrx_vdev_handle vdev,
int max_subfrms_ampdu,
int max_subfrms_amsdu);
-#else
-#define ol_txrx_aggr_cfg(vdev, max_subfrms_ampdu, max_subfrms_amsdu) 0
-#endif
enum {
TXRX_DBG_MASK_OBJS = 0x01,
diff --git a/CORE/SERVICES/COMMON/wdi_in.h b/CORE/SERVICES/COMMON/wdi_in.h
index 4ecab9885825..2068cbb6692d 100644
--- a/CORE/SERVICES/COMMON/wdi_in.h
+++ b/CORE/SERVICES/COMMON/wdi_in.h
@@ -1062,13 +1062,9 @@ int wdi_in_fw_stats_get(
ol_txrx_vdev_handle vdev,
struct ol_txrx_stats_req *req);
-#if defined(TEMP_AGGR_CFG)
int wdi_in_aggr_cfg(ol_txrx_vdev_handle vdev,
int max_subfrms_ampdu,
int max_subfrms_amsdu);
-#else
-#define wdi_in_aggr_cfg(vdev, max_subfrms_ampdu, max_subfrms_amsdu) 0
-#endif
enum {
TXRX_DBG_MASK_OBJS = 0x01,
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 4b2024681d4f..28db336a217c 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -5826,26 +5826,35 @@ static void wma_process_cli_set_cmd(tp_wma_handle wma,
}
break;
case GEN_CMD:
+ {
+ ol_txrx_vdev_handle vdev = NULL;
+ struct wma_txrx_node *intr = wma->interfaces;
+
+ vdev = wma_find_vdev_by_id(wma, privcmd->param_vdev_id);
+ if (!vdev) {
+ WMA_LOGE("%s:Invalid vdev handle", __func__);
+ return;
+ }
+
WMA_LOGD("gen pid %d pval %d", privcmd->param_id,
privcmd->param_value);
+
switch (privcmd->param_id) {
case GEN_VDEV_PARAM_AMPDU:
- ret = ol_txrx_aggr_cfg(
- wma_handle->interfaces[privcmd->param_vdev_id].handle,
- privcmd->param_value, 0);
+ ret = ol_txrx_aggr_cfg(vdev, privcmd->param_value, 0);
if (ret)
WMA_LOGE("ol_txrx_aggr_cfg set ampdu"
- " failed ret %d", ret);
- intr[vid].config.ampdu = privcmd->param_value;
+ " failed ret %d", ret);
+ else
+ intr[privcmd->param_vdev_id].config.ampdu = privcmd->param_value;
break;
case GEN_VDEV_PARAM_AMSDU:
- ret = ol_txrx_aggr_cfg(
- wma_handle->interfaces[privcmd->param_vdev_id].handle,
- 0, privcmd->param_value);
+ ret = ol_txrx_aggr_cfg(vdev, 0, privcmd->param_value);
if (ret)
WMA_LOGE("ol_txrx_aggr_cfg set amsdu"
- " failed ret %d", ret);
- intr[vid].config.amsdu = privcmd->param_value;
+ " failed ret %d", ret);
+ else
+ intr[privcmd->param_vdev_id].config.amsdu = privcmd->param_value;
break;
case GEN_PARAM_DUMP_AGC_START:
HTCDump(wma->htc_handle, AGC_DUMP, true);
@@ -5870,6 +5879,7 @@ static void wma_process_cli_set_cmd(tp_wma_handle wma,
break;
}
break;
+ }
case DBG_CMD:
WMA_LOGD("dbg pid %d pval %d", privcmd->param_id,
privcmd->param_value);