diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-11-15 16:43:07 -0500 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-11-24 19:57:55 -0500 |
commit | dbbf1755b09eef8ff6dd21c8dafe1606f051ce12 (patch) | |
tree | bf0b1c6786b879255e991be1052a37991d634eb7 /drivers/net/wireless/iwlwifi/iwl-6000.c | |
parent | 4b7384f936817489a4172b9c5d946f63f479ca15 (diff) |
iwlwifi: use antenna information in EEPROM
The valid tx/rx antenna information is part of EEPROM, so use it
to configure the device.
For few cases, the EEPROM did not reflect the correct antenna, but
it is too late to modify the EEPROM, so overwrite with .cfg parameters
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.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, 6 insertions, 36 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index 93e3fe92f389..a3a055f7fd43 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c | |||
@@ -557,8 +557,6 @@ struct iwl_cfg iwl6000g2a_2agn_cfg = { | |||
557 | .fw_name_pre = IWL6000G2A_FW_PRE, | 557 | .fw_name_pre = IWL6000G2A_FW_PRE, |
558 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 558 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
559 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 559 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
560 | .valid_tx_ant = ANT_AB, | ||
561 | .valid_rx_ant = ANT_AB, | ||
562 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 560 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
563 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 561 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
564 | .ops = &iwl6000_ops, | 562 | .ops = &iwl6000_ops, |
@@ -575,8 +573,6 @@ struct iwl_cfg iwl6000g2a_2abg_cfg = { | |||
575 | .fw_name_pre = IWL6000G2A_FW_PRE, | 573 | .fw_name_pre = IWL6000G2A_FW_PRE, |
576 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 574 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
577 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 575 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
578 | .valid_tx_ant = ANT_AB, | ||
579 | .valid_rx_ant = ANT_AB, | ||
580 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 576 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
581 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 577 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
582 | .ops = &iwl6000_ops, | 578 | .ops = &iwl6000_ops, |
@@ -592,8 +588,6 @@ struct iwl_cfg iwl6000g2a_2bg_cfg = { | |||
592 | .fw_name_pre = IWL6000G2A_FW_PRE, | 588 | .fw_name_pre = IWL6000G2A_FW_PRE, |
593 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 589 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
594 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 590 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
595 | .valid_tx_ant = ANT_AB, | ||
596 | .valid_rx_ant = ANT_AB, | ||
597 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 591 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
598 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 592 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
599 | .ops = &iwl6000_ops, | 593 | .ops = &iwl6000_ops, |
@@ -609,8 +603,6 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = { | |||
609 | .fw_name_pre = IWL6000G2B_FW_PRE, | 603 | .fw_name_pre = IWL6000G2B_FW_PRE, |
610 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 604 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
611 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 605 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
612 | .valid_tx_ant = ANT_AB, | ||
613 | .valid_rx_ant = ANT_AB, | ||
614 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 606 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
615 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 607 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
616 | .ops = &iwl6000g2b_ops, | 608 | .ops = &iwl6000g2b_ops, |
@@ -631,8 +623,6 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = { | |||
631 | .fw_name_pre = IWL6000G2B_FW_PRE, | 623 | .fw_name_pre = IWL6000G2B_FW_PRE, |
632 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 624 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
633 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 625 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
634 | .valid_tx_ant = ANT_AB, | ||
635 | .valid_rx_ant = ANT_AB, | ||
636 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 626 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
637 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 627 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
638 | .ops = &iwl6000g2b_ops, | 628 | .ops = &iwl6000g2b_ops, |
@@ -652,8 +642,6 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = { | |||
652 | .fw_name_pre = IWL6000G2B_FW_PRE, | 642 | .fw_name_pre = IWL6000G2B_FW_PRE, |
653 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 643 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
654 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 644 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
655 | .valid_tx_ant = ANT_AB, | ||
656 | .valid_rx_ant = ANT_AB, | ||
657 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 645 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
658 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 646 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
659 | .ops = &iwl6000g2b_ops, | 647 | .ops = &iwl6000g2b_ops, |
@@ -674,8 +662,6 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = { | |||
674 | .fw_name_pre = IWL6000G2B_FW_PRE, | 662 | .fw_name_pre = IWL6000G2B_FW_PRE, |
675 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 663 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
676 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 664 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
677 | .valid_tx_ant = ANT_AB, | ||
678 | .valid_rx_ant = ANT_AB, | ||
679 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 665 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
680 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 666 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
681 | .ops = &iwl6000g2b_ops, | 667 | .ops = &iwl6000g2b_ops, |
@@ -695,8 +681,6 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = { | |||
695 | .fw_name_pre = IWL6000G2B_FW_PRE, | 681 | .fw_name_pre = IWL6000G2B_FW_PRE, |
696 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 682 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
697 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 683 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
698 | .valid_tx_ant = ANT_A, | ||
699 | .valid_rx_ant = ANT_AB, | ||
700 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 684 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
701 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 685 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
702 | .ops = &iwl6000g2b_ops, | 686 | .ops = &iwl6000g2b_ops, |
@@ -717,8 +701,6 @@ struct iwl_cfg iwl6000g2b_bg_cfg = { | |||
717 | .fw_name_pre = IWL6000G2B_FW_PRE, | 701 | .fw_name_pre = IWL6000G2B_FW_PRE, |
718 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 702 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
719 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 703 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
720 | .valid_tx_ant = ANT_A, | ||
721 | .valid_rx_ant = ANT_AB, | ||
722 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 704 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
723 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 705 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
724 | .ops = &iwl6000g2b_ops, | 706 | .ops = &iwl6000g2b_ops, |
@@ -741,8 +723,8 @@ struct iwl_cfg iwl6000i_2agn_cfg = { | |||
741 | .fw_name_pre = IWL6000_FW_PRE, | 723 | .fw_name_pre = IWL6000_FW_PRE, |
742 | .ucode_api_max = IWL6000_UCODE_API_MAX, | 724 | .ucode_api_max = IWL6000_UCODE_API_MAX, |
743 | .ucode_api_min = IWL6000_UCODE_API_MIN, | 725 | .ucode_api_min = IWL6000_UCODE_API_MIN, |
744 | .valid_tx_ant = ANT_BC, | 726 | .valid_tx_ant = ANT_BC, /* .cfg overwrite */ |
745 | .valid_rx_ant = ANT_BC, | 727 | .valid_rx_ant = ANT_BC, /* .cfg overwrite */ |
746 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, | 728 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, |
747 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, | 729 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, |
748 | .ops = &iwl6000_ops, | 730 | .ops = &iwl6000_ops, |
@@ -758,8 +740,8 @@ struct iwl_cfg iwl6000i_2abg_cfg = { | |||
758 | .fw_name_pre = IWL6000_FW_PRE, | 740 | .fw_name_pre = IWL6000_FW_PRE, |
759 | .ucode_api_max = IWL6000_UCODE_API_MAX, | 741 | .ucode_api_max = IWL6000_UCODE_API_MAX, |
760 | .ucode_api_min = IWL6000_UCODE_API_MIN, | 742 | .ucode_api_min = IWL6000_UCODE_API_MIN, |
761 | .valid_tx_ant = ANT_BC, | 743 | .valid_tx_ant = ANT_BC, /* .cfg overwrite */ |
762 | .valid_rx_ant = ANT_BC, | 744 | .valid_rx_ant = ANT_BC, /* .cfg overwrite */ |
763 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, | 745 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, |
764 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, | 746 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, |
765 | .ops = &iwl6000_ops, | 747 | .ops = &iwl6000_ops, |
@@ -774,8 +756,8 @@ struct iwl_cfg iwl6000i_2bg_cfg = { | |||
774 | .fw_name_pre = IWL6000_FW_PRE, | 756 | .fw_name_pre = IWL6000_FW_PRE, |
775 | .ucode_api_max = IWL6000_UCODE_API_MAX, | 757 | .ucode_api_max = IWL6000_UCODE_API_MAX, |
776 | .ucode_api_min = IWL6000_UCODE_API_MIN, | 758 | .ucode_api_min = IWL6000_UCODE_API_MIN, |
777 | .valid_tx_ant = ANT_BC, | 759 | .valid_tx_ant = ANT_BC, /* .cfg overwrite */ |
778 | .valid_rx_ant = ANT_BC, | 760 | .valid_rx_ant = ANT_BC, /* .cfg overwrite */ |
779 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, | 761 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, |
780 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, | 762 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, |
781 | .ops = &iwl6000_ops, | 763 | .ops = &iwl6000_ops, |
@@ -790,8 +772,6 @@ struct iwl_cfg iwl6050_2agn_cfg = { | |||
790 | .fw_name_pre = IWL6050_FW_PRE, | 772 | .fw_name_pre = IWL6050_FW_PRE, |
791 | .ucode_api_max = IWL6050_UCODE_API_MAX, | 773 | .ucode_api_max = IWL6050_UCODE_API_MAX, |
792 | .ucode_api_min = IWL6050_UCODE_API_MIN, | 774 | .ucode_api_min = IWL6050_UCODE_API_MIN, |
793 | .valid_tx_ant = ANT_AB, | ||
794 | .valid_rx_ant = ANT_AB, | ||
795 | .ops = &iwl6050_ops, | 775 | .ops = &iwl6050_ops, |
796 | .eeprom_ver = EEPROM_6050_EEPROM_VERSION, | 776 | .eeprom_ver = EEPROM_6050_EEPROM_VERSION, |
797 | .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION, | 777 | .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION, |
@@ -807,8 +787,6 @@ struct iwl_cfg iwl6050g2_bgn_cfg = { | |||
807 | .fw_name_pre = IWL6050_FW_PRE, | 787 | .fw_name_pre = IWL6050_FW_PRE, |
808 | .ucode_api_max = IWL6050_UCODE_API_MAX, | 788 | .ucode_api_max = IWL6050_UCODE_API_MAX, |
809 | .ucode_api_min = IWL6050_UCODE_API_MIN, | 789 | .ucode_api_min = IWL6050_UCODE_API_MIN, |
810 | .valid_tx_ant = ANT_A, | ||
811 | .valid_rx_ant = ANT_AB, | ||
812 | .eeprom_ver = EEPROM_6050G2_EEPROM_VERSION, | 790 | .eeprom_ver = EEPROM_6050G2_EEPROM_VERSION, |
813 | .eeprom_calib_ver = EEPROM_6050G2_TX_POWER_VERSION, | 791 | .eeprom_calib_ver = EEPROM_6050G2_TX_POWER_VERSION, |
814 | .ops = &iwl6050g2_ops, | 792 | .ops = &iwl6050g2_ops, |
@@ -824,8 +802,6 @@ struct iwl_cfg iwl6050_2abg_cfg = { | |||
824 | .fw_name_pre = IWL6050_FW_PRE, | 802 | .fw_name_pre = IWL6050_FW_PRE, |
825 | .ucode_api_max = IWL6050_UCODE_API_MAX, | 803 | .ucode_api_max = IWL6050_UCODE_API_MAX, |
826 | .ucode_api_min = IWL6050_UCODE_API_MIN, | 804 | .ucode_api_min = IWL6050_UCODE_API_MIN, |
827 | .valid_tx_ant = ANT_AB, | ||
828 | .valid_rx_ant = ANT_AB, | ||
829 | .eeprom_ver = EEPROM_6050_EEPROM_VERSION, | 805 | .eeprom_ver = EEPROM_6050_EEPROM_VERSION, |
830 | .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION, | 806 | .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION, |
831 | .ops = &iwl6050_ops, | 807 | .ops = &iwl6050_ops, |
@@ -840,8 +816,6 @@ struct iwl_cfg iwl6000_3agn_cfg = { | |||
840 | .fw_name_pre = IWL6000_FW_PRE, | 816 | .fw_name_pre = IWL6000_FW_PRE, |
841 | .ucode_api_max = IWL6000_UCODE_API_MAX, | 817 | .ucode_api_max = IWL6000_UCODE_API_MAX, |
842 | .ucode_api_min = IWL6000_UCODE_API_MIN, | 818 | .ucode_api_min = IWL6000_UCODE_API_MIN, |
843 | .valid_tx_ant = ANT_ABC, | ||
844 | .valid_rx_ant = ANT_ABC, | ||
845 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, | 819 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, |
846 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, | 820 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, |
847 | .ops = &iwl6000_ops, | 821 | .ops = &iwl6000_ops, |
@@ -857,8 +831,6 @@ struct iwl_cfg iwl130_bgn_cfg = { | |||
857 | .fw_name_pre = IWL6000G2B_FW_PRE, | 831 | .fw_name_pre = IWL6000G2B_FW_PRE, |
858 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 832 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
859 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 833 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
860 | .valid_tx_ant = ANT_A, | ||
861 | .valid_rx_ant = ANT_A, | ||
862 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 834 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
863 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 835 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
864 | .ops = &iwl6000g2b_ops, | 836 | .ops = &iwl6000g2b_ops, |
@@ -878,8 +850,6 @@ struct iwl_cfg iwl130_bg_cfg = { | |||
878 | .fw_name_pre = IWL6000G2B_FW_PRE, | 850 | .fw_name_pre = IWL6000G2B_FW_PRE, |
879 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, | 851 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
880 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, | 852 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
881 | .valid_tx_ant = ANT_A, | ||
882 | .valid_rx_ant = ANT_A, | ||
883 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, | 853 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
884 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, | 854 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
885 | .ops = &iwl6000g2b_ops, | 855 | .ops = &iwl6000g2b_ops, |