diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-02-27 07:03:35 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-09 15:06:51 -0500 |
commit | e5255cccb26e88d0c7dd2d25b5ec2f26a3c6301d (patch) | |
tree | c1f1db4c6d11821d904ba083480b8436af74c8d7 /drivers/net/wireless/b43/phy_n.c | |
parent | c2b7aefdc9b10c64a4e4be2303131006f9dc7013 (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.c | 54 |
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, | |||
90 | static void b43_chantab_radio_upload(struct b43_wldev *dev, | 90 | static 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 | ||
117 | static void b43_chantab_phy_upload(struct b43_wldev *dev, | 127 | static void b43_chantab_phy_upload(struct b43_wldev *dev, |