summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Hsu <ryanhsu@qca.qualcomm.com>2014-06-05 12:19:54 -0700
committerPitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com>2014-07-02 18:15:36 +0530
commitdc015788729f5f01821045361dcd42eec12aed1e (patch)
treed9dcf8953193c8c98a1304de708779a741ba0bbf
parent0c5a20fd36f5670701ce745147303190072cd63f (diff)
qcacld: wma/dfs: set the dfs_pri_multiplier to dfs layer
add dfs_pri_multiplier member to carry this configuration from hdd/ini and set to dfs layer Change-Id: Ie495305310860a7d1fafc0f292638ece1a6dcc17 CRs-fixed: 676168
-rw-r--r--CORE/SERVICES/COMMON/wma_dfs_interface.h1
-rw-r--r--CORE/SERVICES/DFS/inc/ath_dfs_structs.h3
-rw-r--r--CORE/SERVICES/DFS/inc/dfs.h1
-rw-r--r--CORE/SERVICES/WMA/wma.c9
-rw-r--r--CORE/SERVICES/WMA/wma.h5
5 files changed, 18 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wma_dfs_interface.h b/CORE/SERVICES/COMMON/wma_dfs_interface.h
index aabd0fadcf63..b6e4fd296617 100644
--- a/CORE/SERVICES/COMMON/wma_dfs_interface.h
+++ b/CORE/SERVICES/COMMON/wma_dfs_interface.h
@@ -199,6 +199,7 @@ typedef struct ieee80211com
HAL_DFS_DOMAIN current_dfs_regdomain;
u_int8_t vdev_id;
u_int8_t last_radar_found_chan;
+ int32_t dfs_pri_multiplier;
} IEEE80211COM, *PIEEE80211COM;
/*
diff --git a/CORE/SERVICES/DFS/inc/ath_dfs_structs.h b/CORE/SERVICES/DFS/inc/ath_dfs_structs.h
index f2f72ea73e09..425d0d5f53ec 100644
--- a/CORE/SERVICES/DFS/inc/ath_dfs_structs.h
+++ b/CORE/SERVICES/DFS/inc/ath_dfs_structs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2014 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -248,5 +248,6 @@ struct ath_dfs_radar_tab_info {
int numb5radars;
struct dfs_bin5pulse *b5pulses;
struct ath_dfs_phyerr_param dfs_defaultparams;
+ int dfs_pri_multiplier;
};
#endif /* _DFS__STRUCTS_H_ */
diff --git a/CORE/SERVICES/DFS/inc/dfs.h b/CORE/SERVICES/DFS/inc/dfs.h
index b9a408463aff..64c091d97048 100644
--- a/CORE/SERVICES/DFS/inc/dfs.h
+++ b/CORE/SERVICES/DFS/inc/dfs.h
@@ -599,6 +599,7 @@ struct ath_dfs {
int dfs_phyerr_w53_counter;
int dfs_pri_multiplier; /* allow pulse if they are within multiple of PRI for the radar type */
int ath_dfs_nol_timeout;
+ int dfs_pri_multiplier_ini; /* dfs pri configuration from ini */
};
/* This should match the table from if_ath.c */
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 58a7627a8696..ac79f77f5e42 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -3312,6 +3312,8 @@ VOS_STATUS WDA_open(v_VOID_t *vos_context, v_VOID_t *os_ctx,
*/
wma_handle->dfs_phyerr_filter_offload =
mac_params->dfsPhyerrFilterOffload;
+ wma_handle->dfs_pri_multiplier =
+ mac_params->dfsRadarPriMultiplier;
wma_handle->interfaces = vos_mem_malloc(sizeof(struct wma_txrx_node) *
wma_handle->max_bssid);
if (!wma_handle->interfaces) {
@@ -7024,6 +7026,8 @@ static VOS_STATUS wma_vdev_start(tp_wma_handle wma,
WMI_SET_CHANNEL_FLAG(chan, WMI_CHAN_FLAG_DFS);
cmd->disable_hw_ack = VOS_TRUE;
+ req->dfs_pri_multiplier = wma->dfs_pri_multiplier;
+
/*
* Configure the current operating channel
* to DFS module only if the device operating
@@ -21915,6 +21919,9 @@ void wma_dfs_configure(struct ieee80211com *ic)
break;
}
+ rinfo.dfs_pri_multiplier = ic->dfs_pri_multiplier;
+
+
/*
* Set the regulatory domain,
* radar pulse table and enable
@@ -21997,6 +22004,8 @@ wma_dfs_configure_channel(struct ieee80211com *dfs_ic,
dfs_ic->vdev_id = req->vdev_id;
}
+ dfs_ic->dfs_pri_multiplier = req->dfs_pri_multiplier;
+
/*
* Configuring the DFS with current channel and the radar filters
*/
diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h
index f6b71968a3fc..99cef5ba3d5a 100644
--- a/CORE/SERVICES/WMA/wma.h
+++ b/CORE/SERVICES/WMA/wma.h
@@ -677,10 +677,14 @@ typedef struct {
u_int16_t RArateLimitInterval;
#endif
+
/* Powersave Configuration Parameters */
u_int8_t staMaxLIModDtim;
u_int8_t staModDtim;
u_int8_t staDynamicDtim;
+
+ int32_t dfs_pri_multiplier;
+
}t_wma_handle, *tp_wma_handle;
struct wma_target_cap {
@@ -1257,6 +1261,7 @@ struct wma_vdev_start_req {
u_int8_t pmf_enabled;
u_int8_t vht_capable;
u_int8_t ht_capable;
+ int32_t dfs_pri_multiplier;
};
struct wma_set_key_params {