aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/phy_n.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2014-05-27 16:07:32 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-05-29 13:10:33 -0400
commit90e569d1955e6678f089cd9f7a9a61c1ae27519b (patch)
treee5338ef77bbd25e479e193b5a057cf98108a9c0d /drivers/net/wireless/b43/phy_n.c
parent09951ad4936948e03316fdb1fe636846f706136e (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.c11
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
5609static void b43_nphy_op_free(struct b43_wldev *dev) 5602static void b43_nphy_op_free(struct b43_wldev *dev)