aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-6000.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2010-05-17 13:57:43 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-05-17 13:57:43 -0400
commit6fe70aae0d128339febfabc073ba4c4a03de4f45 (patch)
tree711dff90df5ca4e07b5bddf11b2819e5cf2b7a93 /drivers/net/wireless/iwlwifi/iwl-6000.c
parent278554bd6579206921f5d8a523649a7a57f8850d (diff)
parent0c348d7c1422d59a86d6fb37b53d75788043e50b (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-6000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c51
1 files changed, 36 insertions, 15 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index 7acef703253a..9fbf54cd3e1a 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -67,9 +67,10 @@
67#define _IWL6050_MODULE_FIRMWARE(api) IWL6050_FW_PRE #api ".ucode" 67#define _IWL6050_MODULE_FIRMWARE(api) IWL6050_FW_PRE #api ".ucode"
68#define IWL6050_MODULE_FIRMWARE(api) _IWL6050_MODULE_FIRMWARE(api) 68#define IWL6050_MODULE_FIRMWARE(api) _IWL6050_MODULE_FIRMWARE(api)
69 69
70#define IWL6000G2_FW_PRE "iwlwifi-6005-" 70#define IWL6000G2A_FW_PRE "iwlwifi-6000g2a-"
71#define _IWL6000G2_MODULE_FIRMWARE(api) IWL6000G2_FW_PRE #api ".ucode" 71#define _IWL6000G2A_MODULE_FIRMWARE(api) IWL6000G2A_FW_PRE #api ".ucode"
72#define IWL6000G2_MODULE_FIRMWARE(api) _IWL6000G2_MODULE_FIRMWARE(api) 72#define IWL6000G2A_MODULE_FIRMWARE(api) _IWL6000G2A_MODULE_FIRMWARE(api)
73
73 74
74static void iwl6000_set_ct_threshold(struct iwl_priv *priv) 75static void iwl6000_set_ct_threshold(struct iwl_priv *priv)
75{ 76{
@@ -316,7 +317,7 @@ static struct iwl_lib_ops iwl6000_lib = {
316 .temperature = iwlagn_temperature, 317 .temperature = iwlagn_temperature,
317 .set_ct_kill = iwl6000_set_ct_threshold, 318 .set_ct_kill = iwl6000_set_ct_threshold,
318 }, 319 },
319 .add_bcast_station = iwl_add_bcast_station, 320 .manage_ibss_station = iwlagn_manage_ibss_station,
320 .debugfs_ops = { 321 .debugfs_ops = {
321 .rx_stats_read = iwl_ucode_rx_stats_read, 322 .rx_stats_read = iwl_ucode_rx_stats_read,
322 .tx_stats_read = iwl_ucode_tx_stats_read, 323 .tx_stats_read = iwl_ucode_tx_stats_read,
@@ -328,7 +329,6 @@ static struct iwl_lib_ops iwl6000_lib = {
328}; 329};
329 330
330static const struct iwl_ops iwl6000_ops = { 331static const struct iwl_ops iwl6000_ops = {
331 .ucode = &iwlagn_ucode,
332 .lib = &iwl6000_lib, 332 .lib = &iwl6000_lib,
333 .hcmd = &iwlagn_hcmd, 333 .hcmd = &iwlagn_hcmd,
334 .utils = &iwlagn_hcmd_utils, 334 .utils = &iwlagn_hcmd_utils,
@@ -389,7 +389,7 @@ static struct iwl_lib_ops iwl6050_lib = {
389 .set_ct_kill = iwl6000_set_ct_threshold, 389 .set_ct_kill = iwl6000_set_ct_threshold,
390 .set_calib_version = iwl6050_set_calib_version, 390 .set_calib_version = iwl6050_set_calib_version,
391 }, 391 },
392 .add_bcast_station = iwl_add_bcast_station, 392 .manage_ibss_station = iwlagn_manage_ibss_station,
393 .debugfs_ops = { 393 .debugfs_ops = {
394 .rx_stats_read = iwl_ucode_rx_stats_read, 394 .rx_stats_read = iwl_ucode_rx_stats_read,
395 .tx_stats_read = iwl_ucode_tx_stats_read, 395 .tx_stats_read = iwl_ucode_tx_stats_read,
@@ -401,19 +401,16 @@ static struct iwl_lib_ops iwl6050_lib = {
401}; 401};
402 402
403static const struct iwl_ops iwl6050_ops = { 403static const struct iwl_ops iwl6050_ops = {
404 .ucode = &iwlagn_ucode,
405 .lib = &iwl6050_lib, 404 .lib = &iwl6050_lib,
406 .hcmd = &iwlagn_hcmd, 405 .hcmd = &iwlagn_hcmd,
407 .utils = &iwlagn_hcmd_utils, 406 .utils = &iwlagn_hcmd_utils,
408 .led = &iwlagn_led_ops, 407 .led = &iwlagn_led_ops,
409}; 408};
410 409
411/* 410
412 * "i": Internal configuration, use internal Power Amplifier 411struct iwl_cfg iwl6000g2a_2agn_cfg = {
413 */ 412 .name = "6000 Series 2x2 AGN Gen2a",
414struct iwl_cfg iwl6000g2_2agn_cfg = { 413 .fw_name_pre = IWL6000G2A_FW_PRE,
415 .name = "6000 Series 2x2 AGN Gen2",
416 .fw_name_pre = IWL6000G2_FW_PRE,
417 .ucode_api_max = IWL6000G2_UCODE_API_MAX, 414 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
418 .ucode_api_min = IWL6000G2_UCODE_API_MIN, 415 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
419 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 416 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
@@ -442,9 +439,15 @@ struct iwl_cfg iwl6000g2_2agn_cfg = {
442 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, 439 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
443 .chain_noise_scale = 1000, 440 .chain_noise_scale = 1000,
444 .monitor_recover_period = IWL_MONITORING_PERIOD, 441 .monitor_recover_period = IWL_MONITORING_PERIOD,
445 .max_event_log_size = 1024, 442 .max_event_log_size = 512,
443 .ucode_tracing = true,
444 .sensitivity_calib_by_driver = true,
445 .chain_noise_calib_by_driver = true,
446}; 446};
447 447
448/*
449 * "i": Internal configuration, use internal Power Amplifier
450 */
448struct iwl_cfg iwl6000i_2agn_cfg = { 451struct iwl_cfg iwl6000i_2agn_cfg = {
449 .name = "Intel(R) Centrino(R) Advanced-N 6200 AGN", 452 .name = "Intel(R) Centrino(R) Advanced-N 6200 AGN",
450 .fw_name_pre = IWL6000_FW_PRE, 453 .fw_name_pre = IWL6000_FW_PRE,
@@ -477,6 +480,9 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
477 .chain_noise_scale = 1000, 480 .chain_noise_scale = 1000,
478 .monitor_recover_period = IWL_MONITORING_PERIOD, 481 .monitor_recover_period = IWL_MONITORING_PERIOD,
479 .max_event_log_size = 1024, 482 .max_event_log_size = 1024,
483 .ucode_tracing = true,
484 .sensitivity_calib_by_driver = true,
485 .chain_noise_calib_by_driver = true,
480}; 486};
481 487
482struct iwl_cfg iwl6000i_2abg_cfg = { 488struct iwl_cfg iwl6000i_2abg_cfg = {
@@ -509,6 +515,9 @@ struct iwl_cfg iwl6000i_2abg_cfg = {
509 .chain_noise_scale = 1000, 515 .chain_noise_scale = 1000,
510 .monitor_recover_period = IWL_MONITORING_PERIOD, 516 .monitor_recover_period = IWL_MONITORING_PERIOD,
511 .max_event_log_size = 1024, 517 .max_event_log_size = 1024,
518 .ucode_tracing = true,
519 .sensitivity_calib_by_driver = true,
520 .chain_noise_calib_by_driver = true,
512}; 521};
513 522
514struct iwl_cfg iwl6000i_2bg_cfg = { 523struct iwl_cfg iwl6000i_2bg_cfg = {
@@ -541,6 +550,9 @@ struct iwl_cfg iwl6000i_2bg_cfg = {
541 .chain_noise_scale = 1000, 550 .chain_noise_scale = 1000,
542 .monitor_recover_period = IWL_MONITORING_PERIOD, 551 .monitor_recover_period = IWL_MONITORING_PERIOD,
543 .max_event_log_size = 1024, 552 .max_event_log_size = 1024,
553 .ucode_tracing = true,
554 .sensitivity_calib_by_driver = true,
555 .chain_noise_calib_by_driver = true,
544}; 556};
545 557
546struct iwl_cfg iwl6050_2agn_cfg = { 558struct iwl_cfg iwl6050_2agn_cfg = {
@@ -575,6 +587,9 @@ struct iwl_cfg iwl6050_2agn_cfg = {
575 .chain_noise_scale = 1500, 587 .chain_noise_scale = 1500,
576 .monitor_recover_period = IWL_MONITORING_PERIOD, 588 .monitor_recover_period = IWL_MONITORING_PERIOD,
577 .max_event_log_size = 1024, 589 .max_event_log_size = 1024,
590 .ucode_tracing = true,
591 .sensitivity_calib_by_driver = true,
592 .chain_noise_calib_by_driver = true,
578}; 593};
579 594
580struct iwl_cfg iwl6050_2abg_cfg = { 595struct iwl_cfg iwl6050_2abg_cfg = {
@@ -607,6 +622,9 @@ struct iwl_cfg iwl6050_2abg_cfg = {
607 .chain_noise_scale = 1500, 622 .chain_noise_scale = 1500,
608 .monitor_recover_period = IWL_MONITORING_PERIOD, 623 .monitor_recover_period = IWL_MONITORING_PERIOD,
609 .max_event_log_size = 1024, 624 .max_event_log_size = 1024,
625 .ucode_tracing = true,
626 .sensitivity_calib_by_driver = true,
627 .chain_noise_calib_by_driver = true,
610}; 628};
611 629
612struct iwl_cfg iwl6000_3agn_cfg = { 630struct iwl_cfg iwl6000_3agn_cfg = {
@@ -641,8 +659,11 @@ struct iwl_cfg iwl6000_3agn_cfg = {
641 .chain_noise_scale = 1000, 659 .chain_noise_scale = 1000,
642 .monitor_recover_period = IWL_MONITORING_PERIOD, 660 .monitor_recover_period = IWL_MONITORING_PERIOD,
643 .max_event_log_size = 1024, 661 .max_event_log_size = 1024,
662 .ucode_tracing = true,
663 .sensitivity_calib_by_driver = true,
664 .chain_noise_calib_by_driver = true,
644}; 665};
645 666
646MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); 667MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));
647MODULE_FIRMWARE(IWL6050_MODULE_FIRMWARE(IWL6050_UCODE_API_MAX)); 668MODULE_FIRMWARE(IWL6050_MODULE_FIRMWARE(IWL6050_UCODE_API_MAX));
648MODULE_FIRMWARE(IWL6000G2_MODULE_FIRMWARE(IWL6000G2_UCODE_API_MAX)); 669MODULE_FIRMWARE(IWL6000G2A_MODULE_FIRMWARE(IWL6000G2_UCODE_API_MAX));