aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2010-01-15 09:17:10 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-15 17:05:38 -0500
commit0914640072570f5867818884b8b78c0468b9747f (patch)
tree636fad3350c38efd45b24d1cc2700d3a33094b63
parenta67162ab00d5f0d28f58a62ccd48e6a9cab07645 (diff)
b43: N-PHY: implement workaround for TX IQ
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/b43/phy_n.c16
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 3232a465e0a5..d67ba207783a 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -425,6 +425,22 @@ static void b43_nphy_rx_iq_coeffs(struct b43_wldev *dev, bool write,
425 } 425 }
426} 426}
427 427
428/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/TxIqWar */
429static void b43_nphy_tx_iq_workaround(struct b43_wldev *dev)
430{
431 u16 array[4];
432 int i;
433
434 b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x3C50);
435 for (i = 0; i < 4; i++)
436 array[i] = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
437
438 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW0, array[0]);
439 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW1, array[1]);
440 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW2, array[2]);
441 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW3, array[3]);
442}
443
428/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/clip-detection */ 444/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/clip-detection */
429static void b43_nphy_write_clip_detection(struct b43_wldev *dev, u16 *clip_st) 445static void b43_nphy_write_clip_detection(struct b43_wldev *dev, u16 *clip_st)
430{ 446{