aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271_acx.c
diff options
context:
space:
mode:
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>2009-10-13 05:47:39 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-27 16:48:07 -0400
commit2b60100bf04aba28133ccb24efd85f72fb1a5494 (patch)
tree30b52402d2ea9ffe2edc7a28b02dfce4014b935e /drivers/net/wireless/wl12xx/wl1271_acx.c
parent2cc8d4db9dd7df9dd12d86f2e37d1b4760d3dd98 (diff)
wl1271: Add structure for firmware configuration values
In order to make the firmware configuration more manageable, collect hardcoded configuration values into one data structure, and set default values there. Add the SoftGemini BT/WLAN coex paramters into the config structure. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_acx.c')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_acx.c40
1 files changed, 12 insertions, 28 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_acx.c b/drivers/net/wireless/wl12xx/wl1271_acx.c
index 6c2989002218..d19d8605b9d2 100644
--- a/drivers/net/wireless/wl12xx/wl1271_acx.c
+++ b/drivers/net/wireless/wl12xx/wl1271_acx.c
@@ -509,6 +509,7 @@ out:
509int wl1271_acx_sg_cfg(struct wl1271 *wl) 509int wl1271_acx_sg_cfg(struct wl1271 *wl)
510{ 510{
511 struct acx_bt_wlan_coex_param *param; 511 struct acx_bt_wlan_coex_param *param;
512 struct conf_sg_settings *c = &wl->conf.sg;
512 int ret; 513 int ret;
513 514
514 wl1271_debug(DEBUG_ACX, "acx sg cfg"); 515 wl1271_debug(DEBUG_ACX, "acx sg cfg");
@@ -520,34 +521,17 @@ int wl1271_acx_sg_cfg(struct wl1271 *wl)
520 } 521 }
521 522
522 /* BT-WLAN coext parameters */ 523 /* BT-WLAN coext parameters */
523 param->min_rate = RATE_INDEX_24MBPS; 524 param->per_threshold = c->per_threshold;
524 param->bt_hp_max_time = PTA_BT_HP_MAXTIME_DEF; 525 param->max_scan_compensation_time = c->max_scan_compensation_time;
525 param->wlan_hp_max_time = PTA_WLAN_HP_MAX_TIME_DEF; 526 param->nfs_sample_interval = c->nfs_sample_interval;
526 param->sense_disable_timer = PTA_SENSE_DISABLE_TIMER_DEF; 527 param->load_ratio = c->load_ratio;
527 param->rx_time_bt_hp = PTA_PROTECTIVE_RX_TIME_DEF; 528 param->auto_ps_mode = c->auto_ps_mode;
528 param->tx_time_bt_hp = PTA_PROTECTIVE_TX_TIME_DEF; 529 param->probe_req_compensation = c->probe_req_compensation;
529 param->rx_time_bt_hp_fast = PTA_PROTECTIVE_RX_TIME_FAST_DEF; 530 param->scan_window_compensation = c->scan_window_compensation;
530 param->tx_time_bt_hp_fast = PTA_PROTECTIVE_TX_TIME_FAST_DEF; 531 param->antenna_config = c->antenna_config;
531 param->wlan_cycle_fast = PTA_CYCLE_TIME_FAST_DEF; 532 param->beacon_miss_threshold = c->beacon_miss_threshold;
532 param->bt_anti_starvation_period = PTA_ANTI_STARVE_PERIOD_DEF; 533 param->rate_adaptation_threshold = c->rate_adaptation_threshold;
533 param->next_bt_lp_packet = PTA_TIMEOUT_NEXT_BT_LP_PACKET_DEF; 534 param->rate_adaptation_snr = c->rate_adaptation_snr;
534 param->wake_up_beacon = PTA_TIME_BEFORE_BEACON_DEF;
535 param->hp_dm_max_guard_time = PTA_HPDM_MAX_TIME_DEF;
536 param->next_wlan_packet = PTA_TIME_OUT_NEXT_WLAN_DEF;
537 param->antenna_type = PTA_ANTENNA_TYPE_DEF;
538 param->signal_type = PTA_SIGNALING_TYPE_DEF;
539 param->afh_leverage_on = PTA_AFH_LEVERAGE_ON_DEF;
540 param->quiet_cycle_num = PTA_NUMBER_QUIET_CYCLE_DEF;
541 param->max_cts = PTA_MAX_NUM_CTS_DEF;
542 param->wlan_packets_num = PTA_NUMBER_OF_WLAN_PACKETS_DEF;
543 param->bt_packets_num = PTA_NUMBER_OF_BT_PACKETS_DEF;
544 param->missed_rx_avalanche = PTA_RX_FOR_AVALANCHE_DEF;
545 param->wlan_elp_hp = PTA_ELP_HP_DEF;
546 param->bt_anti_starvation_cycles = PTA_ANTI_STARVE_NUM_CYCLE_DEF;
547 param->ack_mode_dual_ant = PTA_ACK_MODE_DEF;
548 param->pa_sd_enable = PTA_ALLOW_PA_SD_DEF;
549 param->pta_auto_mode_enable = PTA_AUTO_MODE_NO_CTS_DEF;
550 param->bt_hp_respected_num = PTA_BT_HP_RESPECTED_DEF;
551 535
552 ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param)); 536 ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
553 if (ret < 0) { 537 if (ret < 0) {