wl1271: Add proper WLAN-BT co-ex configuration, and enable co-ex.
Add configuration values for the varous WLAN-BT co-ex configuration parameters,
and finally enable WLAN-BT co-ex. Based on preliminary measurements, it
appears the co-ex feature is not increasing WLAN power consumption, if BT
is not activated.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/wl12xx/wl1271_acx.h b/drivers/net/wireless/wl12xx/wl1271_acx.h
index 88a05cb..dee3c06 100644
--- a/drivers/net/wireless/wl12xx/wl1271_acx.h
+++ b/drivers/net/wireless/wl12xx/wl1271_acx.h
@@ -392,12 +392,6 @@
__le32 bss_lose_timeout; /* number of TU's from synch fail */
} __attribute__ ((packed));
-enum {
- ACX_SG_DISABLE = 0,
- ACX_SG_PROTECTIVE,
- ACX_SG_OPPORTUNISTIC
-};
-
struct acx_bt_wlan_coex {
struct acx_header header;
@@ -405,64 +399,10 @@
u8 pad[3];
} __attribute__ ((packed));
-enum {
- ACX_SG_BT_PER_THRESHOLD = 0,
- ACX_SG_HV3_MAX_OVERRIDE,
- ACX_SG_BT_NFS_SAMPLE_INTERVAL,
- ACX_SG_BT_LOAD_RATIO,
- ACX_SG_AUTO_PS_MODE,
- ACX_SG_AUTO_SCAN_PROBE_REQ,
- ACX_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
- ACX_SG_ANTENNA_CONFIGURATION,
- ACX_SG_BEACON_MISS_PERCENT,
- ACX_SG_RATE_ADAPT_THRESH,
- ACX_SG_RATE_ADAPT_SNR,
- ACX_SG_WLAN_PS_BT_ACL_MASTER_MIN_BR,
- ACX_SG_WLAN_PS_BT_ACL_MASTER_MAX_BR,
- ACX_SG_WLAN_PS_MAX_BT_ACL_MASTER_BR,
- ACX_SG_WLAN_PS_BT_ACL_SLAVE_MIN_BR,
- ACX_SG_WLAN_PS_BT_ACL_SLAVE_MAX_BR,
- ACX_SG_WLAN_PS_MAX_BT_ACL_SLAVE_BR,
- ACX_SG_WLAN_PS_BT_ACL_MASTER_MIN_EDR,
- ACX_SG_WLAN_PS_BT_ACL_MASTER_MAX_EDR,
- ACX_SG_WLAN_PS_MAX_BT_ACL_MASTER_EDR,
- ACX_SG_WLAN_PS_BT_ACL_SLAVE_MIN_EDR,
- ACX_SG_WLAN_PS_BT_ACL_SLAVE_MAX_EDR,
- ACX_SG_WLAN_PS_MAX_BT_ACL_SLAVE_EDR,
- ACX_SG_RXT,
- ACX_SG_TXT,
- ACX_SG_ADAPTIVE_RXT_TXT,
- ACX_SG_PS_POLL_TIMEOUT,
- ACX_SG_UPSD_TIMEOUT,
- ACX_SG_WLAN_ACTIVE_BT_ACL_MASTER_MIN_EDR,
- ACX_SG_WLAN_ACTIVE_BT_ACL_MASTER_MAX_EDR,
- ACX_SG_WLAN_ACTIVE_MAX_BT_ACL_MASTER_EDR,
- ACX_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MIN_EDR,
- ACX_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MAX_EDR,
- ACX_SG_WLAN_ACTIVE_MAX_BT_ACL_SLAVE_EDR,
- ACX_SG_WLAN_ACTIVE_BT_ACL_MIN_BR,
- ACX_SG_WLAN_ACTIVE_BT_ACL_MAX_BR,
- ACX_SG_WLAN_ACTIVE_MAX_BT_ACL_BR,
- ACX_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3,
- ACX_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP,
- ACX_SG_PASSIVE_SCAN_A2DP_BT_TIME,
- ACX_SG_PASSIVE_SCAN_A2DP_WLAN_TIME,
- ACX_SG_HV3_MAX_SERVED,
- ACX_SG_DHCP_TIME,
- ACX_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
- ACX_SG_TEMP_PARAM_1,
- ACX_SG_TEMP_PARAM_2,
- ACX_SG_TEMP_PARAM_3,
- ACX_SG_TEMP_PARAM_4,
- ACX_SG_TEMP_PARAM_5,
- ACX_SG_PARAMS_MAX,
- ACX_SG_PARAMS_ALL = 0xff
-};
-
struct acx_bt_wlan_coex_param {
struct acx_header header;
- __le32 params[ACX_SG_PARAMS_MAX];
+ __le32 params[CONF_SG_PARAMS_MAX];
u8 param_idx;
u8 padding[3];
} __attribute__ ((packed));