aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/phy_n.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2010-02-27 07:03:35 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-03-09 15:06:51 -0500
commite5255cccb26e88d0c7dd2d25b5ec2f26a3c6301d (patch)
treec1f1db4c6d11821d904ba083480b8436af74c8d7 /drivers/net/wireless/b43/phy_n.c
parentc2b7aefdc9b10c64a4e4be2303131006f9dc7013 (diff)
b43: N-PHY: update writing channel-specific radio registers
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.c54
1 files changed, 32 insertions, 22 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index dd81e8aec912..2c592d2dba93 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -90,28 +90,38 @@ static enum b43_txpwr_result b43_nphy_op_recalc_txpower(struct b43_wldev *dev,
90static void b43_chantab_radio_upload(struct b43_wldev *dev, 90static void b43_chantab_radio_upload(struct b43_wldev *dev,
91 const struct b43_nphy_channeltab_entry *e) 91 const struct b43_nphy_channeltab_entry *e)
92{ 92{
93 b43_radio_write16(dev, B2055_PLL_REF, e->radio_pll_ref); 93 b43_radio_write(dev, B2055_PLL_REF, e->radio_pll_ref);
94 b43_radio_write16(dev, B2055_RF_PLLMOD0, e->radio_rf_pllmod0); 94 b43_radio_write(dev, B2055_RF_PLLMOD0, e->radio_rf_pllmod0);
95 b43_radio_write16(dev, B2055_RF_PLLMOD1, e->radio_rf_pllmod1); 95 b43_radio_write(dev, B2055_RF_PLLMOD1, e->radio_rf_pllmod1);
96 b43_radio_write16(dev, B2055_VCO_CAPTAIL, e->radio_vco_captail); 96 b43_radio_write(dev, B2055_VCO_CAPTAIL, e->radio_vco_captail);
97 b43_radio_write16(dev, B2055_VCO_CAL1, e->radio_vco_cal1); 97 b43_read32(dev, B43_MMIO_MACCTL); /* flush writes */
98 b43_radio_write16(dev, B2055_VCO_CAL2, e->radio_vco_cal2); 98
99 b43_radio_write16(dev, B2055_PLL_LFC1, e->radio_pll_lfc1); 99 b43_radio_write(dev, B2055_VCO_CAL1, e->radio_vco_cal1);
100 b43_radio_write16(dev, B2055_PLL_LFR1, e->radio_pll_lfr1); 100 b43_radio_write(dev, B2055_VCO_CAL2, e->radio_vco_cal2);
101 b43_radio_write16(dev, B2055_PLL_LFC2, e->radio_pll_lfc2); 101 b43_radio_write(dev, B2055_PLL_LFC1, e->radio_pll_lfc1);
102 b43_radio_write16(dev, B2055_LGBUF_CENBUF, e->radio_lgbuf_cenbuf); 102 b43_radio_write(dev, B2055_PLL_LFR1, e->radio_pll_lfr1);
103 b43_radio_write16(dev, B2055_LGEN_TUNE1, e->radio_lgen_tune1); 103 b43_read32(dev, B43_MMIO_MACCTL); /* flush writes */
104 b43_radio_write16(dev, B2055_LGEN_TUNE2, e->radio_lgen_tune2); 104
105 b43_radio_write16(dev, B2055_C1_LGBUF_ATUNE, e->radio_c1_lgbuf_atune); 105 b43_radio_write(dev, B2055_PLL_LFC2, e->radio_pll_lfc2);
106 b43_radio_write16(dev, B2055_C1_LGBUF_GTUNE, e->radio_c1_lgbuf_gtune); 106 b43_radio_write(dev, B2055_LGBUF_CENBUF, e->radio_lgbuf_cenbuf);
107 b43_radio_write16(dev, B2055_C1_RX_RFR1, e->radio_c1_rx_rfr1); 107 b43_radio_write(dev, B2055_LGEN_TUNE1, e->radio_lgen_tune1);
108 b43_radio_write16(dev, B2055_C1_TX_PGAPADTN, e->radio_c1_tx_pgapadtn); 108 b43_radio_write(dev, B2055_LGEN_TUNE2, e->radio_lgen_tune2);
109 b43_radio_write16(dev, B2055_C1_TX_MXBGTRIM, e->radio_c1_tx_mxbgtrim); 109 b43_read32(dev, B43_MMIO_MACCTL); /* flush writes */
110 b43_radio_write16(dev, B2055_C2_LGBUF_ATUNE, e->radio_c2_lgbuf_atune); 110
111 b43_radio_write16(dev, B2055_C2_LGBUF_GTUNE, e->radio_c2_lgbuf_gtune); 111 b43_radio_write(dev, B2055_C1_LGBUF_ATUNE, e->radio_c1_lgbuf_atune);
112 b43_radio_write16(dev, B2055_C2_RX_RFR1, e->radio_c2_rx_rfr1); 112 b43_radio_write(dev, B2055_C1_LGBUF_GTUNE, e->radio_c1_lgbuf_gtune);
113 b43_radio_write16(dev, B2055_C2_TX_PGAPADTN, e->radio_c2_tx_pgapadtn); 113 b43_radio_write(dev, B2055_C1_RX_RFR1, e->radio_c1_rx_rfr1);
114 b43_radio_write16(dev, B2055_C2_TX_MXBGTRIM, e->radio_c2_tx_mxbgtrim); 114 b43_radio_write(dev, B2055_C1_TX_PGAPADTN, e->radio_c1_tx_pgapadtn);
115 b43_read32(dev, B43_MMIO_MACCTL); /* flush writes */
116
117 b43_radio_write(dev, B2055_C1_TX_MXBGTRIM, e->radio_c1_tx_mxbgtrim);
118 b43_radio_write(dev, B2055_C2_LGBUF_ATUNE, e->radio_c2_lgbuf_atune);
119 b43_radio_write(dev, B2055_C2_LGBUF_GTUNE, e->radio_c2_lgbuf_gtune);
120 b43_radio_write(dev, B2055_C2_RX_RFR1, e->radio_c2_rx_rfr1);
121 b43_read32(dev, B43_MMIO_MACCTL); /* flush writes */
122
123 b43_radio_write(dev, B2055_C2_TX_PGAPADTN, e->radio_c2_tx_pgapadtn);
124 b43_radio_write(dev, B2055_C2_TX_MXBGTRIM, e->radio_c2_tx_mxbgtrim);
115} 125}
116 126
117static void b43_chantab_phy_upload(struct b43_wldev *dev, 127static void b43_chantab_phy_upload(struct b43_wldev *dev,