diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2014-05-27 16:07:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-05-29 13:10:33 -0400 |
commit | 90e569d1955e6678f089cd9f7a9a61c1ae27519b (patch) | |
tree | e5338ef77bbd25e479e193b5a057cf98108a9c0d /drivers/net/wireless/b43/phy_n.c | |
parent | 09951ad4936948e03316fdb1fe636846f706136e (diff) |
b43: N-PHY: optimize init by doing some ops just once
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/phy_n.c')
-rw-r--r-- | drivers/net/wireless/b43/phy_n.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index 41dab89a2942..98ff8060f526 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c | |||
@@ -700,13 +700,11 @@ static void b43_radio_2057_init_post(struct b43_wldev *dev) | |||
700 | b43_radio_mask(dev, R2057_RFPLL_MISC_CAL_RESETN, ~0x78); | 700 | b43_radio_mask(dev, R2057_RFPLL_MISC_CAL_RESETN, ~0x78); |
701 | b43_radio_mask(dev, R2057_XTAL_CONFIG2, ~0x80); | 701 | b43_radio_mask(dev, R2057_XTAL_CONFIG2, ~0x80); |
702 | 702 | ||
703 | if (dev->phy.n->init_por) { | 703 | if (dev->phy.do_full_init) { |
704 | b43_radio_2057_rcal(dev); | 704 | b43_radio_2057_rcal(dev); |
705 | b43_radio_2057_rccal(dev); | 705 | b43_radio_2057_rccal(dev); |
706 | } | 706 | } |
707 | b43_radio_mask(dev, R2057_RFPLL_MASTER, ~0x8); | 707 | b43_radio_mask(dev, R2057_RFPLL_MASTER, ~0x8); |
708 | |||
709 | dev->phy.n->init_por = false; | ||
710 | } | 708 | } |
711 | 709 | ||
712 | /* http://bcm-v4.sipsolutions.net/802.11/Radio/2057/Init */ | 710 | /* http://bcm-v4.sipsolutions.net/802.11/Radio/2057/Init */ |
@@ -1028,7 +1026,7 @@ static void b43_radio_init2056_post(struct b43_wldev *dev) | |||
1028 | b43_radio_mask(dev, B2056_SYN_COM_RESET, ~0x2); | 1026 | b43_radio_mask(dev, B2056_SYN_COM_RESET, ~0x2); |
1029 | b43_radio_mask(dev, B2056_SYN_PLL_MAST2, ~0xFC); | 1027 | b43_radio_mask(dev, B2056_SYN_PLL_MAST2, ~0xFC); |
1030 | b43_radio_mask(dev, B2056_SYN_RCCAL_CTRL0, ~0x1); | 1028 | b43_radio_mask(dev, B2056_SYN_RCCAL_CTRL0, ~0x1); |
1031 | if (dev->phy.n->init_por) | 1029 | if (dev->phy.do_full_init) |
1032 | b43_radio_2056_rcal(dev); | 1030 | b43_radio_2056_rcal(dev); |
1033 | } | 1031 | } |
1034 | 1032 | ||
@@ -1041,8 +1039,6 @@ static void b43_radio_init2056(struct b43_wldev *dev) | |||
1041 | b43_radio_init2056_pre(dev); | 1039 | b43_radio_init2056_pre(dev); |
1042 | b2056_upload_inittabs(dev, 0, 0); | 1040 | b2056_upload_inittabs(dev, 0, 0); |
1043 | b43_radio_init2056_post(dev); | 1041 | b43_radio_init2056_post(dev); |
1044 | |||
1045 | dev->phy.n->init_por = false; | ||
1046 | } | 1042 | } |
1047 | 1043 | ||
1048 | /************************************************** | 1044 | /************************************************** |
@@ -5561,7 +5557,6 @@ static void b43_nphy_op_prepare_structs(struct b43_wldev *dev) | |||
5561 | nphy->hang_avoid = (phy->rev == 3 || phy->rev == 4); | 5557 | nphy->hang_avoid = (phy->rev == 3 || phy->rev == 4); |
5562 | nphy->spur_avoid = (phy->rev >= 3) ? | 5558 | nphy->spur_avoid = (phy->rev >= 3) ? |
5563 | B43_SPUR_AVOID_AUTO : B43_SPUR_AVOID_DISABLE; | 5559 | B43_SPUR_AVOID_AUTO : B43_SPUR_AVOID_DISABLE; |
5564 | nphy->init_por = true; | ||
5565 | nphy->gain_boost = true; /* this way we follow wl, assume it is true */ | 5560 | nphy->gain_boost = true; /* this way we follow wl, assume it is true */ |
5566 | nphy->txrx_chain = 2; /* sth different than 0 and 1 for now */ | 5561 | nphy->txrx_chain = 2; /* sth different than 0 and 1 for now */ |
5567 | nphy->phyrxchain = 3; /* to avoid b43_nphy_set_rx_core_state like wl */ | 5562 | nphy->phyrxchain = 3; /* to avoid b43_nphy_set_rx_core_state like wl */ |
@@ -5602,8 +5597,6 @@ static void b43_nphy_op_prepare_structs(struct b43_wldev *dev) | |||
5602 | nphy->ipa2g_on = sprom->fem.ghz2.extpa_gain == 2; | 5597 | nphy->ipa2g_on = sprom->fem.ghz2.extpa_gain == 2; |
5603 | nphy->ipa5g_on = sprom->fem.ghz5.extpa_gain == 2; | 5598 | nphy->ipa5g_on = sprom->fem.ghz5.extpa_gain == 2; |
5604 | } | 5599 | } |
5605 | |||
5606 | nphy->init_por = true; | ||
5607 | } | 5600 | } |
5608 | 5601 | ||
5609 | static void b43_nphy_op_free(struct b43_wldev *dev) | 5602 | static void b43_nphy_op_free(struct b43_wldev *dev) |