summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuanyuan Liu <yuanliu@qca.qualcomm.com>2014-03-24 15:19:12 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-26 10:40:23 -0700
commit1ffb3d8145767efd127997be869c65fadea8f137 (patch)
treeae59d6ffcb9e90c078358b7b01981b014c6e8332
parentae6ccc2c6b548e430290714d929f9ce8c3bcf78f (diff)
qcacld: Add wmi cmd WMI_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE
Add wmi cmd WMI_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE to support FW drift analyzing in earlyrx module using iwpriv cmd. Change-Id: I934f5a67ce3a2c0667186de42a07d4667d406512 CRs-Fixed: 621270
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c13
-rw-r--r--CORE/SERVICES/WMA/wma.c3
-rw-r--r--CORE/SERVICES/WMA/wma.h1
3 files changed, 17 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 7bdb870c8ab5..af59a4d473d8 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -240,6 +240,7 @@ static const hdd_freq_chan_map_t freq_chan_map[] = { {2412, 1}, {2417, 2},
#define WE_SET_EARLY_RX_INIT_SLOP 79
#define WE_SET_EARLY_RX_ADJUST_PAUSE 80
#define WE_SET_MC_RATE 81
+#define WE_SET_EARLY_RX_DRIFT_SAMPLE 82
/* Private ioctls and their sub-ioctls */
#define WLAN_PRIV_SET_NONE_GET_INT (SIOCIWFIRSTPRIV + 1)
@@ -5790,6 +5791,14 @@ static int iw_setint_getnone(struct net_device *dev, struct iw_request_info *inf
ret = -EINVAL;
break;
}
+ case WE_SET_EARLY_RX_DRIFT_SAMPLE:
+ {
+ hddLog(LOG1, "SET early_rx drift sample %d", set_value);
+ ret = process_wma_set_command((int)pAdapter->sessionId,
+ (int)WMI_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE,
+ set_value, VDEV_CMD);
+ break;
+ }
#endif
default:
{
@@ -10073,6 +10082,10 @@ static const struct iw_priv_args we_private_args[] = {
{ WE_SET_EARLY_RX_ADJUST_PAUSE,
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
0, "erx_adj_pause" },
+
+ { WE_SET_EARLY_RX_DRIFT_SAMPLE,
+ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
+ 0, "erx_dri_sample" },
#endif
{ WLAN_PRIV_SET_NONE_GET_INT,
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index ca22624cd501..d7c4f5c8eb52 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -7543,6 +7543,9 @@ static void wma_process_cli_set_cmd(tp_wma_handle wma,
case WMI_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE:
intr[vid].config.erx_adj_pause = privcmd->param_value;
break;
+ case WMI_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE:
+ intr[vid].config.erx_dri_sample = privcmd->param_value;
+ break;
default:
WMA_LOGE("Invalid wda_cli_set vdev command/Not"
" yet implemented 0x%x", privcmd->param_id);
diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h
index c89ceb1c022b..69ad4608d4ee 100644
--- a/CORE/SERVICES/WMA/wma.h
+++ b/CORE/SERVICES/WMA/wma.h
@@ -350,6 +350,7 @@ typedef struct {
u_int32_t erx_slop_step;
u_int32_t erx_init_slop;
u_int32_t erx_adj_pause;
+ u_int32_t erx_dri_sample;
struct pps pps_params;
struct qpower_params qpower_params;
gtx_config_t gtx_info;