diff options
author | Ben Cahill <ben.m.cahill@intel.com> | 2009-10-23 16:42:21 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-27 16:49:59 -0400 |
commit | fadb3582a38c33d0f7c58ab7905d4dbc67f4c4d9 (patch) | |
tree | ff8f1bfc9aca5e200b0387069a2500850e9891eb /drivers/net/wireless/iwlwifi/iwl-6000.c | |
parent | 065e63b00cf13919010bbeff48f7a120033be448 (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.c | 42 |
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, |