diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-11-18 15:11:42 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-24 16:19:34 -0500 |
commit | a529cecd29ecf1e5416316ae06ce515bf67b5d5a (patch) | |
tree | 0f2011128961aafb9519436df0a5575f66039fc2 /drivers/net/wireless/b43 | |
parent | fee613b77df721781b9794945f0f1a8f535456ff (diff) |
b43: N-PHY: rev2: save and restore PHY regs on RSSI poll
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')
-rw-r--r-- | drivers/net/wireless/b43/phy_n.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index bf0d63d61b6a..dc4045de61f2 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c | |||
@@ -1846,6 +1846,14 @@ static int b43_nphy_poll_rssi(struct b43_wldev *dev, u8 type, s32 *buf, | |||
1846 | save_regs_phy[5] = b43_phy_read(dev, B43_NPHY_AFECTL_OVER); | 1846 | save_regs_phy[5] = b43_phy_read(dev, B43_NPHY_AFECTL_OVER); |
1847 | save_regs_phy[6] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B1S0); | 1847 | save_regs_phy[6] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B1S0); |
1848 | save_regs_phy[7] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B32S1); | 1848 | save_regs_phy[7] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B32S1); |
1849 | } else if (dev->phy.rev == 2) { | ||
1850 | save_regs_phy[0] = b43_phy_read(dev, B43_NPHY_AFECTL_C1); | ||
1851 | save_regs_phy[1] = b43_phy_read(dev, B43_NPHY_AFECTL_C2); | ||
1852 | save_regs_phy[2] = b43_phy_read(dev, B43_NPHY_AFECTL_OVER); | ||
1853 | save_regs_phy[3] = b43_phy_read(dev, B43_NPHY_RFCTL_CMD); | ||
1854 | save_regs_phy[4] = b43_phy_read(dev, B43_NPHY_RFCTL_OVER); | ||
1855 | save_regs_phy[5] = b43_phy_read(dev, B43_NPHY_RFCTL_RSSIO1); | ||
1856 | save_regs_phy[6] = b43_phy_read(dev, B43_NPHY_RFCTL_RSSIO2); | ||
1849 | } | 1857 | } |
1850 | 1858 | ||
1851 | b43_nphy_rssi_select(dev, 5, type); | 1859 | b43_nphy_rssi_select(dev, 5, type); |
@@ -1889,6 +1897,14 @@ static int b43_nphy_poll_rssi(struct b43_wldev *dev, u8 type, s32 *buf, | |||
1889 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, save_regs_phy[5]); | 1897 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, save_regs_phy[5]); |
1890 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B1S0, save_regs_phy[6]); | 1898 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B1S0, save_regs_phy[6]); |
1891 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B32S1, save_regs_phy[7]); | 1899 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B32S1, save_regs_phy[7]); |
1900 | } else if (dev->phy.rev == 2) { | ||
1901 | b43_phy_write(dev, B43_NPHY_AFECTL_C1, save_regs_phy[0]); | ||
1902 | b43_phy_write(dev, B43_NPHY_AFECTL_C2, save_regs_phy[1]); | ||
1903 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, save_regs_phy[2]); | ||
1904 | b43_phy_write(dev, B43_NPHY_RFCTL_CMD, save_regs_phy[3]); | ||
1905 | b43_phy_write(dev, B43_NPHY_RFCTL_OVER, save_regs_phy[4]); | ||
1906 | b43_phy_write(dev, B43_NPHY_RFCTL_RSSIO1, save_regs_phy[5]); | ||
1907 | b43_phy_write(dev, B43_NPHY_RFCTL_RSSIO2, save_regs_phy[6]); | ||
1892 | } | 1908 | } |
1893 | 1909 | ||
1894 | return out; | 1910 | return out; |