aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-6000.c
diff options
context:
space:
mode:
authorBen Cahill <ben.m.cahill@intel.com>2009-10-23 16:42:21 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-27 16:49:59 -0400
commitfadb3582a38c33d0f7c58ab7905d4dbc67f4c4d9 (patch)
treeff8f1bfc9aca5e200b0387069a2500850e9891eb /drivers/net/wireless/iwlwifi/iwl-6000.c
parent065e63b00cf13919010bbeff48f7a120033be448 (diff)
iwlwifi: consolidate apm_init() functions
Consolidate most iwlXXXX_apm_init() functions into single iwl_apm_init(). Keep iwl3945_apm_init(), but leverage iwl_apm_init() for most functionality. Update 4965 init sequence to follow most recent factory recommendations. Add following members to struct iwl_cfg to guide the init sequence: pll_cfg_val (replaces needs_pll_cfg), set_l0s, use_bsm Move L0S enable/disable from nic_config() functions to iwl_apm_init(). This satisifies the "FIXME: put here L1A -L0S w/a" notice, and complies with factory-recommended sequence. Add debug info message in iwl_apm_init(), and symmetrical message in iwl_apm_stop(). Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-6000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c42
1 files changed, 31 insertions, 11 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index b53181324487..5211872da880 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -193,7 +193,7 @@ static struct iwl_lib_ops iwl6000_lib = {
193 .send_tx_power = iwl5000_send_tx_power, 193 .send_tx_power = iwl5000_send_tx_power,
194 .update_chain_flags = iwl_update_chain_flags, 194 .update_chain_flags = iwl_update_chain_flags,
195 .apm_ops = { 195 .apm_ops = {
196 .init = iwl5000_apm_init, 196 .init = iwl_apm_init,
197 .stop = iwl_apm_stop, 197 .stop = iwl_apm_stop,
198 .config = iwl6000_nic_config, 198 .config = iwl6000_nic_config,
199 .set_pwr_src = iwl_set_pwr_src, 199 .set_pwr_src = iwl_set_pwr_src,
@@ -266,7 +266,9 @@ struct iwl_cfg iwl6000h_2agn_cfg = {
266 .mod_params = &iwl50_mod_params, 266 .mod_params = &iwl50_mod_params,
267 .valid_tx_ant = ANT_AB, 267 .valid_tx_ant = ANT_AB,
268 .valid_rx_ant = ANT_AB, 268 .valid_rx_ant = ANT_AB,
269 .need_pll_cfg = false, 269 .pll_cfg_val = 0,
270 .set_l0s = false,
271 .use_bsm = false,
270 .pa_type = IWL_PA_HYBRID, 272 .pa_type = IWL_PA_HYBRID,
271 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 273 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
272 .shadow_ram_support = true, 274 .shadow_ram_support = true,
@@ -292,7 +294,9 @@ struct iwl_cfg iwl6000h_2abg_cfg = {
292 .mod_params = &iwl50_mod_params, 294 .mod_params = &iwl50_mod_params,
293 .valid_tx_ant = ANT_AB, 295 .valid_tx_ant = ANT_AB,
294 .valid_rx_ant = ANT_AB, 296 .valid_rx_ant = ANT_AB,
295 .need_pll_cfg = false, 297 .pll_cfg_val = 0,
298 .set_l0s = false,
299 .use_bsm = false,
296 .pa_type = IWL_PA_HYBRID, 300 .pa_type = IWL_PA_HYBRID,
297 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 301 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
298 .shadow_ram_support = true, 302 .shadow_ram_support = true,
@@ -317,7 +321,9 @@ struct iwl_cfg iwl6000h_2bg_cfg = {
317 .mod_params = &iwl50_mod_params, 321 .mod_params = &iwl50_mod_params,
318 .valid_tx_ant = ANT_AB, 322 .valid_tx_ant = ANT_AB,
319 .valid_rx_ant = ANT_AB, 323 .valid_rx_ant = ANT_AB,
320 .need_pll_cfg = false, 324 .pll_cfg_val = 0,
325 .set_l0s = false,
326 .use_bsm = false,
321 .pa_type = IWL_PA_HYBRID, 327 .pa_type = IWL_PA_HYBRID,
322 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 328 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
323 .shadow_ram_support = true, 329 .shadow_ram_support = true,
@@ -345,7 +351,9 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
345 .mod_params = &iwl50_mod_params, 351 .mod_params = &iwl50_mod_params,
346 .valid_tx_ant = ANT_BC, 352 .valid_tx_ant = ANT_BC,
347 .valid_rx_ant = ANT_BC, 353 .valid_rx_ant = ANT_BC,
348 .need_pll_cfg = false, 354 .pll_cfg_val = 0,
355 .set_l0s = false,
356 .use_bsm = false,
349 .pa_type = IWL_PA_INTERNAL, 357 .pa_type = IWL_PA_INTERNAL,
350 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 358 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
351 .shadow_ram_support = true, 359 .shadow_ram_support = true,
@@ -371,7 +379,9 @@ struct iwl_cfg iwl6000i_2abg_cfg = {
371 .mod_params = &iwl50_mod_params, 379 .mod_params = &iwl50_mod_params,
372 .valid_tx_ant = ANT_BC, 380 .valid_tx_ant = ANT_BC,
373 .valid_rx_ant = ANT_BC, 381 .valid_rx_ant = ANT_BC,
374 .need_pll_cfg = false, 382 .pll_cfg_val = 0,
383 .set_l0s = false,
384 .use_bsm = false,
375 .pa_type = IWL_PA_INTERNAL, 385 .pa_type = IWL_PA_INTERNAL,
376 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 386 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
377 .shadow_ram_support = true, 387 .shadow_ram_support = true,
@@ -396,7 +406,9 @@ struct iwl_cfg iwl6000i_2bg_cfg = {
396 .mod_params = &iwl50_mod_params, 406 .mod_params = &iwl50_mod_params,
397 .valid_tx_ant = ANT_BC, 407 .valid_tx_ant = ANT_BC,
398 .valid_rx_ant = ANT_BC, 408 .valid_rx_ant = ANT_BC,
399 .need_pll_cfg = false, 409 .pll_cfg_val = 0,
410 .set_l0s = false,
411 .use_bsm = false,
400 .pa_type = IWL_PA_INTERNAL, 412 .pa_type = IWL_PA_INTERNAL,
401 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 413 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
402 .shadow_ram_support = true, 414 .shadow_ram_support = true,
@@ -421,7 +433,9 @@ struct iwl_cfg iwl6050_2agn_cfg = {
421 .mod_params = &iwl50_mod_params, 433 .mod_params = &iwl50_mod_params,
422 .valid_tx_ant = ANT_AB, 434 .valid_tx_ant = ANT_AB,
423 .valid_rx_ant = ANT_AB, 435 .valid_rx_ant = ANT_AB,
424 .need_pll_cfg = false, 436 .pll_cfg_val = 0,
437 .set_l0s = false,
438 .use_bsm = false,
425 .pa_type = IWL_PA_SYSTEM, 439 .pa_type = IWL_PA_SYSTEM,
426 .max_ll_items = OTP_MAX_LL_ITEMS_6x50, 440 .max_ll_items = OTP_MAX_LL_ITEMS_6x50,
427 .shadow_ram_support = true, 441 .shadow_ram_support = true,
@@ -447,7 +461,9 @@ struct iwl_cfg iwl6050_2abg_cfg = {
447 .mod_params = &iwl50_mod_params, 461 .mod_params = &iwl50_mod_params,
448 .valid_tx_ant = ANT_AB, 462 .valid_tx_ant = ANT_AB,
449 .valid_rx_ant = ANT_AB, 463 .valid_rx_ant = ANT_AB,
450 .need_pll_cfg = false, 464 .pll_cfg_val = 0,
465 .set_l0s = false,
466 .use_bsm = false,
451 .pa_type = IWL_PA_SYSTEM, 467 .pa_type = IWL_PA_SYSTEM,
452 .max_ll_items = OTP_MAX_LL_ITEMS_6x50, 468 .max_ll_items = OTP_MAX_LL_ITEMS_6x50,
453 .shadow_ram_support = true, 469 .shadow_ram_support = true,
@@ -472,7 +488,9 @@ struct iwl_cfg iwl6000_3agn_cfg = {
472 .mod_params = &iwl50_mod_params, 488 .mod_params = &iwl50_mod_params,
473 .valid_tx_ant = ANT_ABC, 489 .valid_tx_ant = ANT_ABC,
474 .valid_rx_ant = ANT_ABC, 490 .valid_rx_ant = ANT_ABC,
475 .need_pll_cfg = false, 491 .pll_cfg_val = 0,
492 .set_l0s = false,
493 .use_bsm = false,
476 .pa_type = IWL_PA_SYSTEM, 494 .pa_type = IWL_PA_SYSTEM,
477 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 495 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
478 .shadow_ram_support = true, 496 .shadow_ram_support = true,
@@ -498,7 +516,9 @@ struct iwl_cfg iwl6050_3agn_cfg = {
498 .mod_params = &iwl50_mod_params, 516 .mod_params = &iwl50_mod_params,
499 .valid_tx_ant = ANT_ABC, 517 .valid_tx_ant = ANT_ABC,
500 .valid_rx_ant = ANT_ABC, 518 .valid_rx_ant = ANT_ABC,
501 .need_pll_cfg = false, 519 .pll_cfg_val = 0,
520 .set_l0s = false,
521 .use_bsm = false,
502 .pa_type = IWL_PA_SYSTEM, 522 .pa_type = IWL_PA_SYSTEM,
503 .max_ll_items = OTP_MAX_LL_ITEMS_6x50, 523 .max_ll_items = OTP_MAX_LL_ITEMS_6x50,
504 .shadow_ram_support = true, 524 .shadow_ram_support = true,