diff options
| author | Ryan Hsu <ryanhsu@qca.qualcomm.com> | 2014-06-05 12:19:54 -0700 |
|---|---|---|
| committer | Pitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com> | 2014-07-02 18:15:36 +0530 |
| commit | dc015788729f5f01821045361dcd42eec12aed1e (patch) | |
| tree | d9dcf8953193c8c98a1304de708779a741ba0bbf | |
| parent | 0c5a20fd36f5670701ce745147303190072cd63f (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.h | 1 | ||||
| -rw-r--r-- | CORE/SERVICES/DFS/inc/ath_dfs_structs.h | 3 | ||||
| -rw-r--r-- | CORE/SERVICES/DFS/inc/dfs.h | 1 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 9 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.h | 5 |
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 { |
