wl12xx: update BT coex configuration params
authorEliad Peller <eliad@wizery.com>
Sun, 14 Aug 2011 10:17:19 +0000 (13:17 +0300)
committerLuciano Coelho <coelho@ti.com>
Mon, 22 Aug 2011 09:35:27 +0000 (12:35 +0300)
The BT coex params api have been changed.
Update it, and init coex for both sta and ap.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/acx.c
drivers/net/wireless/wl12xx/acx.h
drivers/net/wireless/wl12xx/conf.h
drivers/net/wireless/wl12xx/init.c
drivers/net/wireless/wl12xx/main.c

index a784ba6a8ef61f9a9e538ae47d76e804f690eba8..d783fce4561354575d0be0cabfce0ed3da568646 100644 (file)
@@ -528,13 +528,13 @@ out:
        return ret;
 }
 
-int wl1271_acx_sta_sg_cfg(struct wl1271 *wl)
+int wl12xx_acx_sg_cfg(struct wl1271 *wl)
 {
-       struct acx_sta_bt_wlan_coex_param *param;
+       struct acx_bt_wlan_coex_param *param;
        struct conf_sg_settings *c = &wl->conf.sg;
        int i, ret;
 
-       wl1271_debug(DEBUG_ACX, "acx sg sta cfg");
+       wl1271_debug(DEBUG_ACX, "acx sg cfg");
 
        param = kzalloc(sizeof(*param), GFP_KERNEL);
        if (!param) {
@@ -543,38 +543,8 @@ int wl1271_acx_sta_sg_cfg(struct wl1271 *wl)
        }
 
        /* BT-WLAN coext parameters */
-       for (i = 0; i < CONF_SG_STA_PARAMS_MAX; i++)
-               param->params[i] = cpu_to_le32(c->sta_params[i]);
-       param->param_idx = CONF_SG_PARAMS_ALL;
-
-       ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
-       if (ret < 0) {
-               wl1271_warning("failed to set sg config: %d", ret);
-               goto out;
-       }
-
-out:
-       kfree(param);
-       return ret;
-}
-
-int wl1271_acx_ap_sg_cfg(struct wl1271 *wl)
-{
-       struct acx_ap_bt_wlan_coex_param *param;
-       struct conf_sg_settings *c = &wl->conf.sg;
-       int i, ret;
-
-       wl1271_debug(DEBUG_ACX, "acx sg ap cfg");
-
-       param = kzalloc(sizeof(*param), GFP_KERNEL);
-       if (!param) {
-               ret = -ENOMEM;
-               goto out;
-       }
-
-       /* BT-WLAN coext parameters */
-       for (i = 0; i < CONF_SG_AP_PARAMS_MAX; i++)
-               param->params[i] = cpu_to_le32(c->ap_params[i]);
+       for (i = 0; i < CONF_SG_PARAMS_MAX; i++)
+               param->params[i] = cpu_to_le32(c->params[i]);
        param->param_idx = CONF_SG_PARAMS_ALL;
 
        ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
index 6909bc535a5d79e0f41300957a64cf0f36db1b29..5b3fabde0afeda2d676a9e796e36b5d463ece91c 100644 (file)
@@ -302,23 +302,14 @@ struct acx_bt_wlan_coex {
        u8 pad[3];
 } __packed;
 
-struct acx_sta_bt_wlan_coex_param {
+struct acx_bt_wlan_coex_param {
        struct acx_header header;
 
-       __le32 params[CONF_SG_STA_PARAMS_MAX];
+       __le32 params[CONF_SG_PARAMS_MAX];
        u8 param_idx;
        u8 padding[3];
 } __packed;
 
-struct acx_ap_bt_wlan_coex_param {
-       struct acx_header header;
-
-       __le32 params[CONF_SG_AP_PARAMS_MAX];
-       u8 param_idx;
-       u8 padding[3];
-} __packed;
-
-
 struct acx_dco_itrim_params {
        struct acx_header header;
 
@@ -1269,8 +1260,7 @@ int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, bool enable_filter);
 int wl1271_acx_beacon_filter_table(struct wl1271 *wl);
 int wl1271_acx_conn_monit_params(struct wl1271 *wl, bool enable);
 int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable);
-int wl1271_acx_sta_sg_cfg(struct wl1271 *wl);
-int wl1271_acx_ap_sg_cfg(struct wl1271 *wl);
+int wl12xx_acx_sg_cfg(struct wl1271 *wl);
 int wl1271_acx_cca_threshold(struct wl1271 *wl);
 int wl1271_acx_bcn_dtim_options(struct wl1271 *wl);
 int wl1271_acx_aid(struct wl1271 *wl, u16 aid);
index 30ee7d304bcc5043588d3625e9a80788556c266c..a7c147838ab841b5a3812cdde0863bdbbc15681b 100644 (file)
@@ -99,40 +99,75 @@ enum {
 
 enum {
        /*
-        * PER threshold in PPM of the BT voice
+        * Configure the min and max time BT gains the antenna
+        * in WLAN / BT master basic rate
         *
-        * Range: 0 - 10000000
+        * Range: 0 - 255 (ms)
         */
-       CONF_SG_BT_PER_THRESHOLD = 0,
+       CONF_SG_ACL_BT_MASTER_MIN_BR = 0,
+       CONF_SG_ACL_BT_MASTER_MAX_BR,
 
        /*
-        * Number of consequent RX_ACTIVE activities to override BT voice
-        * frames to ensure WLAN connection
+        * Configure the min and max time BT gains the antenna
+        * in WLAN / BT slave basic rate
         *
-        * Range: 0 - 100
+        * Range: 0 - 255 (ms)
         */
-       CONF_SG_HV3_MAX_OVERRIDE,
+       CONF_SG_ACL_BT_SLAVE_MIN_BR,
+       CONF_SG_ACL_BT_SLAVE_MAX_BR,
 
        /*
-        * Defines the PER threshold of the BT voice
+        * Configure the min and max time BT gains the antenna
+        * in WLAN / BT master EDR
         *
-        * Range: 0 - 65000
+        * Range: 0 - 255 (ms)
         */
-       CONF_SG_BT_NFS_SAMPLE_INTERVAL,
+       CONF_SG_ACL_BT_MASTER_MIN_EDR,
+       CONF_SG_ACL_BT_MASTER_MAX_EDR,
 
        /*
-        * Defines the load ratio of BT
+        * Configure the min and max time BT gains the antenna
+        * in WLAN / BT slave EDR
         *
-        * Range: 0 - 100 (%)
+        * Range: 0 - 255 (ms)
         */
-       CONF_SG_BT_LOAD_RATIO,
+       CONF_SG_ACL_BT_SLAVE_MIN_EDR,
+       CONF_SG_ACL_BT_SLAVE_MAX_EDR,
 
        /*
-        * Defines whether the SG will force WLAN host to enter/exit PSM
+        * The maximum time WLAN can gain the antenna
+        * in WLAN PSM / BT master/slave BR
         *
-        * Range: 1 - SG can force, 0 - host handles PSM
+        * Range: 0 - 255 (ms)
         */
-       CONF_SG_AUTO_PS_MODE,
+       CONF_SG_ACL_WLAN_PS_MASTER_BR,
+       CONF_SG_ACL_WLAN_PS_SLAVE_BR,
+
+       /*
+        * The maximum time WLAN can gain the antenna
+        * in WLAN PSM / BT master/slave EDR
+        *
+        * Range: 0 - 255 (ms)
+        */
+       CONF_SG_ACL_WLAN_PS_MASTER_EDR,
+       CONF_SG_ACL_WLAN_PS_SLAVE_EDR,
+
+       /* TODO: explain these values */
+       CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR,
+       CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR,
+       CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR,
+       CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR,
+       CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR,
+       CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR,
+       CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR,
+       CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR,
+
+       CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR,
+       CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR,
+       CONF_SG_ACL_PASSIVE_SCAN_BT_BR,
+       CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR,
+       CONF_SG_ACL_PASSIVE_SCAN_BT_EDR,
+       CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR,
 
        /*
         * Compensation percentage of probe requests when scan initiated
@@ -151,102 +186,70 @@ enum {
        CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
 
        /*
-        * Defines antenna configuration (single/dual antenna)
-        *
-        * Range: 0 - single antenna, 1 - dual antenna
-        */
-       CONF_SG_ANTENNA_CONFIGURATION,
-
-       /*
-        * The threshold (percent) of max consequtive beacon misses before
-        * increasing priority of beacon reception.
-        *
-        * Range: 0 - 100 (%)
-        */
-       CONF_SG_BEACON_MISS_PERCENT,
-
-       /*
-        * The rate threshold below which receiving a data frame from the AP
-        * will increase the priority of the data frame above BT traffic.
-        *
-        * Range: 0,2, 5(=5.5), 6, 9, 11, 12, 18, 24, 36, 48, 54
-        */
-       CONF_SG_RATE_ADAPT_THRESH,
-
-       /*
-        * Not used currently.
+        * Compensation percentage of WLAN active scan window if initiated
+        * during BT A2DP
         *
-        * Range: 0
+        * Range: 0 - 1000 (%)
         */
-       CONF_SG_RATE_ADAPT_SNR,
+       CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
 
        /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN PSM / BT master basic rate
+        * Compensation percentage of WLAN passive scan window if initiated
+        * during BT A2DP BR
         *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - 1000 (%)
         */
-       CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_BR,
-       CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_BR,
+       CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_BR,
 
        /*
-        * The time after it expires no new WLAN trigger frame is trasmitted
-        * in WLAN PSM / BT master basic rate
+        * Compensation percentage of WLAN passive scan window if initiated
+        * during BT A2DP EDR
         *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - 1000 (%)
         */
-       CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_BR,
+       CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_EDR,
 
        /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN PSM / BT slave basic rate
+        * Compensation percentage of WLAN passive scan window if initiated
+        * during BT voice
         *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - 1000 (%)
         */
-       CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_BR,
-       CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_BR,
+       CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3,
 
-       /*
-        * The time after it expires no new WLAN trigger frame is trasmitted
-        * in WLAN PSM / BT slave basic rate
-        *
-        * Range: 0 - 255 (ms)
-        */
-       CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_BR,
+       /* TODO: explain these values */
+       CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN,
+       CONF_SG_BCN_HV3_COLLISION_THRESH_IN_PASSIVE_SCAN,
+       CONF_SG_TX_RX_PROTECTION_BWIDTH_IN_PASSIVE_SCAN,
 
        /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN PSM / BT master EDR
+        * Defines whether the SG will force WLAN host to enter/exit PSM
         *
-        * Range: 0 - 255 (ms)
+        * Range: 1 - SG can force, 0 - host handles PSM
         */
-       CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_EDR,
-       CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_EDR,
+       CONF_SG_STA_FORCE_PS_IN_BT_SCO,
 
        /*
-        * The time after it expires no new WLAN trigger frame is trasmitted
-        * in WLAN PSM / BT master EDR
+        * Defines antenna configuration (single/dual antenna)
         *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - single antenna, 1 - dual antenna
         */
-       CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_EDR,
+       CONF_SG_ANTENNA_CONFIGURATION,
 
        /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN PSM / BT slave EDR
+        * The threshold (percent) of max consecutive beacon misses before
+        * increasing priority of beacon reception.
         *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - 100 (%)
         */
-       CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_EDR,
-       CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_EDR,
+       CONF_SG_BEACON_MISS_PERCENT,
 
        /*
-        * The time after it expires no new WLAN trigger frame is trasmitted
-        * in WLAN PSM / BT slave EDR
+        * Protection time of the DHCP procedure.
         *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - 100000 (ms)
         */
-       CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_EDR,
+       CONF_SG_DHCP_TIME,
 
        /*
         * RX guard time before the beginning of a new BT voice frame during
@@ -273,166 +276,59 @@ enum {
         */
        CONF_SG_ADAPTIVE_RXT_TXT,
 
-       /*
-        * The used WLAN legacy service period during active BT ACL link
-        *
-        * Range: 0 - 255 (ms)
-        */
-       CONF_SG_PS_POLL_TIMEOUT,
-
-       /*
-        * The used WLAN UPSD service period during active BT ACL link
-        *
-        * Range: 0 - 255 (ms)
-        */
-       CONF_SG_UPSD_TIMEOUT,
-
-       /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN Active / BT master EDR
-        *
-        * Range: 0 - 255 (ms)
-        */
-       CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MIN_EDR,
-       CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MAX_EDR,
-
-       /*
-        * The maximum time WLAN can gain the antenna for
-        * in WLAN Active / BT master EDR
-        *
-        * Range: 0 - 255 (ms)
-        */
-       CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_MASTER_EDR,
+       /* TODO: explain this value */
+       CONF_SG_GENERAL_USAGE_BIT_MAP,
 
        /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN Active / BT slave EDR
+        * Number of consecutive BT voice frames not interrupted by WLAN
         *
-        * Range: 0 - 255 (ms)
-        */
-       CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MIN_EDR,
-       CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MAX_EDR,
-
-       /*
-        * The maximum time WLAN can gain the antenna for
-        * in WLAN Active / BT slave EDR
-        *
-        * Range: 0 - 255 (ms)
+        * Range: 0 - 100
         */
-       CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_SLAVE_EDR,
+       CONF_SG_HV3_MAX_SERVED,
 
        /*
-        * Configure the min and max time BT gains the antenna
-        * in WLAN Active / BT basic rate
+        * The used WLAN legacy service period during active BT ACL link
         *
         * Range: 0 - 255 (ms)
         */
-       CONF_SG_WLAN_ACTIVE_BT_ACL_MIN_BR,
-       CONF_SG_WLAN_ACTIVE_BT_ACL_MAX_BR,
+       CONF_SG_PS_POLL_TIMEOUT,
 
        /*
-        * The maximum time WLAN can gain the antenna for
-        * in WLAN Active / BT basic rate
+        * The used WLAN UPSD service period during active BT ACL link
         *
         * Range: 0 - 255 (ms)
         */
-       CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_BR,
-
-       /*
-        * Compensation percentage of WLAN passive scan window if initiated
-        * during BT voice
-        *
-        * Range: 0 - 1000 (%)
-        */
-       CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3,
-
-       /*
-        * Compensation percentage of WLAN passive scan window if initiated
-        * during BT A2DP
-        *
-        * Range: 0 - 1000 (%)
-        */
-       CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP,
+       CONF_SG_UPSD_TIMEOUT,
 
-       /*
-        * Fixed time ensured for BT traffic to gain the antenna during WLAN
-        * passive scan.
-        *
-        * Range: 0 - 1000 ms
-        */
-       CONF_SG_PASSIVE_SCAN_A2DP_BT_TIME,
+       CONF_SG_CONSECUTIVE_CTS_THRESHOLD,
+       CONF_SG_STA_RX_WINDOW_AFTER_DTIM,
+       CONF_SG_STA_CONNECTION_PROTECTION_TIME,
 
-       /*
-        * Fixed time ensured for WLAN traffic to gain the antenna during WLAN
-        * passive scan.
-        *
-        * Range: 0 - 1000 ms
-        */
-       CONF_SG_PASSIVE_SCAN_A2DP_WLAN_TIME,
+       /* AP params */
+       CONF_AP_BEACON_MISS_TX,
+       CONF_AP_RX_WINDOW_AFTER_BEACON,
+       CONF_AP_BEACON_WINDOW_INTERVAL,
+       CONF_AP_CONNECTION_PROTECTION_TIME,
+       CONF_AP_BT_ACL_VAL_BT_SERVE_TIME,
+       CONF_AP_BT_ACL_VAL_WL_SERVE_TIME,
 
-       /*
-        * Number of consequent BT voice frames not interrupted by WLAN
-        *
-        * Range: 0 - 100
-        */
-       CONF_SG_HV3_MAX_SERVED,
-
-       /*
-        * Protection time of the DHCP procedure.
-        *
-        * Range: 0 - 100000 (ms)
-        */
-       CONF_SG_DHCP_TIME,
-
-       /*
-        * Compensation percentage of WLAN active scan window if initiated
-        * during BT A2DP
-        *
-        * Range: 0 - 1000 (%)
-        */
-       CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
        CONF_SG_TEMP_PARAM_1,
        CONF_SG_TEMP_PARAM_2,
        CONF_SG_TEMP_PARAM_3,
        CONF_SG_TEMP_PARAM_4,
        CONF_SG_TEMP_PARAM_5,
-
-       /*
-        * AP beacon miss
-        *
-        * Range: 0 - 255
-        */
-       CONF_SG_AP_BEACON_MISS_TX,
-
-       /*
-        * AP RX window length
-        *
-        * Range: 0 - 50
-        */
-       CONF_SG_RX_WINDOW_LENGTH,
-
-       /*
-        * AP connection protection time
-        *
-        * Range: 0 - 5000
-        */
-       CONF_SG_AP_CONNECTION_PROTECTION_TIME,
-
        CONF_SG_TEMP_PARAM_6,
        CONF_SG_TEMP_PARAM_7,
        CONF_SG_TEMP_PARAM_8,
        CONF_SG_TEMP_PARAM_9,
        CONF_SG_TEMP_PARAM_10,
 
-       CONF_SG_STA_PARAMS_MAX = CONF_SG_TEMP_PARAM_5 + 1,
-       CONF_SG_AP_PARAMS_MAX = CONF_SG_TEMP_PARAM_10 + 1,
-
+       CONF_SG_PARAMS_MAX,
        CONF_SG_PARAMS_ALL = 0xff
 };
 
 struct conf_sg_settings {
-       u32 sta_params[CONF_SG_STA_PARAMS_MAX];
-       u32 ap_params[CONF_SG_AP_PARAMS_MAX];
+       u32 params[CONF_SG_PARAMS_MAX];
        u8 state;
 };
 
@@ -913,7 +809,7 @@ struct conf_conn_settings {
        struct conf_bcn_filt_rule bcn_filt_ie[CONF_MAX_BCN_FILT_IE_COUNT];
 
        /*
-        * The number of consequtive beacons to lose, before the firmware
+        * The number of consecutive beacons to lose, before the firmware
         * becomes out of synch.
         *
         * Range: u32
@@ -951,7 +847,7 @@ struct conf_conn_settings {
        u8 rx_broadcast_in_ps;
 
        /*
-        * Consequtive PS Poll failures before sending event to driver
+        * Consecutive PS Poll failures before sending event to driver
         *
         * Range: u8
         */
index 1bc246f42a65ae890254758a725e0c2cf9799061..47d87aaa63a7bc812ab3cfe98c721ab21f77da31 100644 (file)
@@ -277,10 +277,7 @@ int wl1271_init_pta(struct wl1271 *wl)
 {
        int ret;
 
-       if (wl->bss_type == BSS_TYPE_AP_BSS)
-               ret = wl1271_acx_ap_sg_cfg(wl);
-       else
-               ret = wl1271_acx_sta_sg_cfg(wl);
+       ret = wl12xx_acx_sg_cfg(wl);
        if (ret < 0)
                return ret;
 
index 57b10e98730eb44ca5cd29ab48a455e20edcfc59..1774a66723144edecb678c57de7465c65e3dc248 100644 (file)
 
 static struct conf_drv_settings default_conf = {
        .sg = {
-               .sta_params = {
-                       [CONF_SG_BT_PER_THRESHOLD]                  = 7500,
-                       [CONF_SG_HV3_MAX_OVERRIDE]                  = 0,
-                       [CONF_SG_BT_NFS_SAMPLE_INTERVAL]            = 400,
-                       [CONF_SG_BT_LOAD_RATIO]                     = 200,
-                       [CONF_SG_AUTO_PS_MODE]                      = 1,
-                       [CONF_SG_AUTO_SCAN_PROBE_REQ]               = 170,
-                       [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3]   = 50,
-                       [CONF_SG_ANTENNA_CONFIGURATION]             = 0,
-                       [CONF_SG_BEACON_MISS_PERCENT]               = 60,
-                       [CONF_SG_RATE_ADAPT_THRESH]                 = 12,
-                       [CONF_SG_RATE_ADAPT_SNR]                    = 0,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_BR]      = 10,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_BR]      = 30,
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_BR]      = 8,
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_BR]       = 20,
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_BR]       = 50,
-                       /* Note: with UPSD, this should be 4 */
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_BR]       = 8,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_EDR]     = 7,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_EDR]     = 25,
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_EDR]     = 20,
-                       /* Note: with UPDS, this should be 15 */
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_EDR]      = 8,
-                       /* Note: with UPDS, this should be 50 */
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_EDR]      = 40,
-                       /* Note: with UPDS, this should be 10 */
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_EDR]      = 20,
-                       [CONF_SG_RXT]                               = 1200,
-                       [CONF_SG_TXT]                               = 1000,
-                       [CONF_SG_ADAPTIVE_RXT_TXT]                  = 1,
-                       [CONF_SG_PS_POLL_TIMEOUT]                   = 10,
-                       [CONF_SG_UPSD_TIMEOUT]                      = 10,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MIN_EDR] = 7,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MAX_EDR] = 15,
-                       [CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_MASTER_EDR] = 15,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MIN_EDR]  = 8,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MAX_EDR]  = 20,
-                       [CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_SLAVE_EDR]  = 15,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MIN_BR]         = 20,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MAX_BR]         = 50,
-                       [CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_BR]         = 10,
-                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3]  = 200,
-                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP] = 800,
-                       [CONF_SG_PASSIVE_SCAN_A2DP_BT_TIME]         = 75,
-                       [CONF_SG_PASSIVE_SCAN_A2DP_WLAN_TIME]       = 15,
-                       [CONF_SG_HV3_MAX_SERVED]                    = 6,
-                       [CONF_SG_DHCP_TIME]                         = 5000,
-                       [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP]  = 100,
-               },
-               .ap_params = {
-                       [CONF_SG_BT_PER_THRESHOLD]                  = 7500,
-                       [CONF_SG_HV3_MAX_OVERRIDE]                  = 0,
-                       [CONF_SG_BT_NFS_SAMPLE_INTERVAL]            = 400,
-                       [CONF_SG_BT_LOAD_RATIO]                     = 50,
-                       [CONF_SG_AUTO_PS_MODE]                      = 1,
-                       [CONF_SG_AUTO_SCAN_PROBE_REQ]               = 170,
-                       [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3]   = 50,
-                       [CONF_SG_ANTENNA_CONFIGURATION]             = 0,
-                       [CONF_SG_BEACON_MISS_PERCENT]               = 60,
-                       [CONF_SG_RATE_ADAPT_THRESH]                 = 64,
-                       [CONF_SG_RATE_ADAPT_SNR]                    = 1,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_BR]      = 10,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_BR]      = 25,
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_BR]      = 25,
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_BR]       = 20,
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_BR]       = 25,
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_BR]       = 25,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_EDR]     = 7,
-                       [CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_EDR]     = 25,
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_EDR]     = 25,
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_EDR]      = 8,
-                       [CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_EDR]      = 25,
-                       [CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_EDR]      = 25,
-                       [CONF_SG_RXT]                               = 1200,
-                       [CONF_SG_TXT]                               = 1000,
-                       [CONF_SG_ADAPTIVE_RXT_TXT]                  = 1,
-                       [CONF_SG_PS_POLL_TIMEOUT]                   = 10,
-                       [CONF_SG_UPSD_TIMEOUT]                      = 10,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MIN_EDR] = 7,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MAX_EDR] = 15,
-                       [CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_MASTER_EDR] = 15,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MIN_EDR]  = 8,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MAX_EDR]  = 20,
-                       [CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_SLAVE_EDR]  = 15,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MIN_BR]         = 20,
-                       [CONF_SG_WLAN_ACTIVE_BT_ACL_MAX_BR]         = 50,
-                       [CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_BR]         = 10,
-                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3]  = 200,
-                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP] = 800,
-                       [CONF_SG_PASSIVE_SCAN_A2DP_BT_TIME]         = 75,
-                       [CONF_SG_PASSIVE_SCAN_A2DP_WLAN_TIME]       = 15,
-                       [CONF_SG_HV3_MAX_SERVED]                    = 6,
-                       [CONF_SG_DHCP_TIME]                         = 5000,
-                       [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP]  = 100,
-                       [CONF_SG_TEMP_PARAM_1]                      = 0,
-                       [CONF_SG_TEMP_PARAM_2]                      = 0,
-                       [CONF_SG_TEMP_PARAM_3]                      = 0,
-                       [CONF_SG_TEMP_PARAM_4]                      = 0,
-                       [CONF_SG_TEMP_PARAM_5]                      = 0,
-                       [CONF_SG_AP_BEACON_MISS_TX]                 = 3,
-                       [CONF_SG_RX_WINDOW_LENGTH]                  = 6,
-                       [CONF_SG_AP_CONNECTION_PROTECTION_TIME]     = 50,
-                       [CONF_SG_TEMP_PARAM_6]                      = 1,
+               .params = {
+                       [CONF_SG_ACL_BT_MASTER_MIN_BR] = 10,
+                       [CONF_SG_ACL_BT_MASTER_MAX_BR] = 180,
+                       [CONF_SG_ACL_BT_SLAVE_MIN_BR] = 10,
+                       [CONF_SG_ACL_BT_SLAVE_MAX_BR] = 180,
+                       [CONF_SG_ACL_BT_MASTER_MIN_EDR] = 10,
+                       [CONF_SG_ACL_BT_MASTER_MAX_EDR] = 80,
+                       [CONF_SG_ACL_BT_SLAVE_MIN_EDR] = 10,
+                       [CONF_SG_ACL_BT_SLAVE_MAX_EDR] = 80,
+                       [CONF_SG_ACL_WLAN_PS_MASTER_BR] = 8,
+                       [CONF_SG_ACL_WLAN_PS_SLAVE_BR] = 8,
+                       [CONF_SG_ACL_WLAN_PS_MASTER_EDR] = 20,
+                       [CONF_SG_ACL_WLAN_PS_SLAVE_EDR] = 20,
+                       [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR] = 20,
+                       [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR] = 35,
+                       [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR] = 16,
+                       [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR] = 35,
+                       [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR] = 32,
+                       [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR] = 50,
+                       [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR] = 28,
+                       [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR] = 50,
+                       [CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR] = 10,
+                       [CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR] = 20,
+                       [CONF_SG_ACL_PASSIVE_SCAN_BT_BR] = 75,
+                       [CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR] = 15,
+                       [CONF_SG_ACL_PASSIVE_SCAN_BT_EDR] = 27,
+                       [CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR] = 17,
+                       /* active scan params */
+                       [CONF_SG_AUTO_SCAN_PROBE_REQ] = 170,
+                       [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3] = 50,
+                       [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP] = 100,
+                       /* passive scan params */
+                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_BR] = 800,
+                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_EDR] = 200,
+                       [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3] = 200,
+                       /* passive scan in dual antenna params */
+                       [CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN] = 0,
+                       [CONF_SG_BCN_HV3_COLLISION_THRESH_IN_PASSIVE_SCAN] = 0,
+                       [CONF_SG_TX_RX_PROTECTION_BWIDTH_IN_PASSIVE_SCAN] = 0,
+                       /* general params */
+                       [CONF_SG_STA_FORCE_PS_IN_BT_SCO] = 1,
+                       [CONF_SG_ANTENNA_CONFIGURATION] = 0,
+                       [CONF_SG_BEACON_MISS_PERCENT] = 60,
+                       [CONF_SG_DHCP_TIME] = 5000,
+                       [CONF_SG_RXT] = 1200,
+                       [CONF_SG_TXT] = 1000,
+                       [CONF_SG_ADAPTIVE_RXT_TXT] = 1,
+                       [CONF_SG_GENERAL_USAGE_BIT_MAP] = 3,
+                       [CONF_SG_HV3_MAX_SERVED] = 6,
+                       [CONF_SG_PS_POLL_TIMEOUT] = 10,
+                       [CONF_SG_UPSD_TIMEOUT] = 10,
+                       [CONF_SG_CONSECUTIVE_CTS_THRESHOLD] = 2,
+                       [CONF_SG_STA_RX_WINDOW_AFTER_DTIM] = 5,
+                       [CONF_SG_STA_CONNECTION_PROTECTION_TIME] = 30,
+                       /* AP params */
+                       [CONF_AP_BEACON_MISS_TX] = 3,
+                       [CONF_AP_RX_WINDOW_AFTER_BEACON] = 10,
+                       [CONF_AP_BEACON_WINDOW_INTERVAL] = 2,
+                       [CONF_AP_CONNECTION_PROTECTION_TIME] = 0,
+                       [CONF_AP_BT_ACL_VAL_BT_SERVE_TIME] = 25,
+                       [CONF_AP_BT_ACL_VAL_WL_SERVE_TIME] = 25,
                },
                .state = CONF_SG_PROTECTIVE,
        },