aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-5000.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-09-25 17:24:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:36 -0400
commitd8c07e7a84950b5fdef424c6dabe6bed3a9ffa19 (patch)
tree8286d65e226654bf403c0ac551f3ef16fd07087b /drivers/net/wireless/iwlwifi/iwl-5000.c
parent2b396a120922062a0ffd2648be3ed7e72ff83620 (diff)
iwlwifi: Chain Noise Calibration for 6000 series
Adding support of Chain Noise Calibration for 6000 series NICs. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@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-5000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index 68d97f50fd00..660fd51d190b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -301,14 +301,17 @@ u16 iwl5000_eeprom_calib_version(struct iwl_priv *priv)
301static void iwl5000_gain_computation(struct iwl_priv *priv, 301static void iwl5000_gain_computation(struct iwl_priv *priv,
302 u32 average_noise[NUM_RX_CHAINS], 302 u32 average_noise[NUM_RX_CHAINS],
303 u16 min_average_noise_antenna_i, 303 u16 min_average_noise_antenna_i,
304 u32 min_average_noise) 304 u32 min_average_noise,
305 u8 default_chain)
305{ 306{
306 int i; 307 int i;
307 s32 delta_g; 308 s32 delta_g;
308 struct iwl_chain_noise_data *data = &priv->chain_noise_data; 309 struct iwl_chain_noise_data *data = &priv->chain_noise_data;
309 310
310 /* Find Gain Code for the antennas B and C */ 311 /*
311 for (i = 1; i < NUM_RX_CHAINS; i++) { 312 * Find Gain Code for the chains based on "default chain"
313 */
314 for (i = default_chain + 1; i < NUM_RX_CHAINS; i++) {
312 if ((data->disconn_array[i])) { 315 if ((data->disconn_array[i])) {
313 data->delta_gain_code[i] = 0; 316 data->delta_gain_code[i] = 0;
314 continue; 317 continue;
@@ -1676,6 +1679,7 @@ struct iwl_cfg iwl5300_agn_cfg = {
1676 .need_pll_cfg = true, 1679 .need_pll_cfg = true,
1677 .ht_greenfield_support = true, 1680 .ht_greenfield_support = true,
1678 .led_compensation = 51, 1681 .led_compensation = 51,
1682 .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
1679}; 1683};
1680 1684
1681struct iwl_cfg iwl5100_bg_cfg = { 1685struct iwl_cfg iwl5100_bg_cfg = {
@@ -1694,6 +1698,7 @@ struct iwl_cfg iwl5100_bg_cfg = {
1694 .need_pll_cfg = true, 1698 .need_pll_cfg = true,
1695 .ht_greenfield_support = true, 1699 .ht_greenfield_support = true,
1696 .led_compensation = 51, 1700 .led_compensation = 51,
1701 .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
1697}; 1702};
1698 1703
1699struct iwl_cfg iwl5100_abg_cfg = { 1704struct iwl_cfg iwl5100_abg_cfg = {
@@ -1712,6 +1717,7 @@ struct iwl_cfg iwl5100_abg_cfg = {
1712 .need_pll_cfg = true, 1717 .need_pll_cfg = true,
1713 .ht_greenfield_support = true, 1718 .ht_greenfield_support = true,
1714 .led_compensation = 51, 1719 .led_compensation = 51,
1720 .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
1715}; 1721};
1716 1722
1717struct iwl_cfg iwl5100_agn_cfg = { 1723struct iwl_cfg iwl5100_agn_cfg = {
@@ -1730,6 +1736,7 @@ struct iwl_cfg iwl5100_agn_cfg = {
1730 .need_pll_cfg = true, 1736 .need_pll_cfg = true,
1731 .ht_greenfield_support = true, 1737 .ht_greenfield_support = true,
1732 .led_compensation = 51, 1738 .led_compensation = 51,
1739 .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
1733}; 1740};
1734 1741
1735struct iwl_cfg iwl5350_agn_cfg = { 1742struct iwl_cfg iwl5350_agn_cfg = {
@@ -1748,6 +1755,7 @@ struct iwl_cfg iwl5350_agn_cfg = {
1748 .need_pll_cfg = true, 1755 .need_pll_cfg = true,
1749 .ht_greenfield_support = true, 1756 .ht_greenfield_support = true,
1750 .led_compensation = 51, 1757 .led_compensation = 51,
1758 .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
1751}; 1759};
1752 1760
1753struct iwl_cfg iwl5150_agn_cfg = { 1761struct iwl_cfg iwl5150_agn_cfg = {
@@ -1766,6 +1774,7 @@ struct iwl_cfg iwl5150_agn_cfg = {
1766 .need_pll_cfg = true, 1774 .need_pll_cfg = true,
1767 .ht_greenfield_support = true, 1775 .ht_greenfield_support = true,
1768 .led_compensation = 51, 1776 .led_compensation = 51,
1777 .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
1769}; 1778};
1770 1779
1771MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX)); 1780MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX));