diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2013-11-18 12:11:32 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-06 14:08:13 -0500 |
commit | dd698b636e0f8824c2f2266997adf6a5b4538279 (patch) | |
tree | 4b400e15940feb513898ee536baa4b07e47f5a7b | |
parent | 12470254ad4149bc44b203c8f3146af9cdfde507 (diff) |
rtlwifi: rtl8192c: Add routines to save/restore power index registers
commit 97204e93f01868eeba6ae5c4f3270f32905bb418 upstream.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c index d2d57a27a7c1..06cb94cf5085 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c +++ b/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c | |||
@@ -158,6 +158,42 @@ static const u8 cckswing_table_ch14[CCK_TABLE_SIZE][8] = { | |||
158 | {0x09, 0x08, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00} | 158 | {0x09, 0x08, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00} |
159 | }; | 159 | }; |
160 | 160 | ||
161 | static u32 power_index_reg[6] = {0xc90, 0xc91, 0xc92, 0xc98, 0xc99, 0xc9a}; | ||
162 | |||
163 | void dm_restorepowerindex(struct ieee80211_hw *hw) | ||
164 | { | ||
165 | struct rtl_priv *rtlpriv = rtl_priv(hw); | ||
166 | u8 index; | ||
167 | |||
168 | for (index = 0; index < 6; index++) | ||
169 | rtl_write_byte(rtlpriv, power_index_reg[index], | ||
170 | rtlpriv->dm.powerindex_backup[index]); | ||
171 | } | ||
172 | EXPORT_SYMBOL_GPL(dm_restorepowerindex); | ||
173 | |||
174 | void dm_writepowerindex(struct ieee80211_hw *hw, u8 value) | ||
175 | { | ||
176 | struct rtl_priv *rtlpriv = rtl_priv(hw); | ||
177 | u8 index; | ||
178 | |||
179 | for (index = 0; index < 6; index++) | ||
180 | rtl_write_byte(rtlpriv, power_index_reg[index], value); | ||
181 | } | ||
182 | EXPORT_SYMBOL_GPL(dm_writepowerindex); | ||
183 | |||
184 | void dm_savepowerindex(struct ieee80211_hw *hw) | ||
185 | { | ||
186 | struct rtl_priv *rtlpriv = rtl_priv(hw); | ||
187 | u8 index; | ||
188 | u8 tmp; | ||
189 | |||
190 | for (index = 0; index < 6; index++) { | ||
191 | tmp = rtl_read_byte(rtlpriv, power_index_reg[index]); | ||
192 | rtlpriv->dm.powerindex_backup[index] = tmp; | ||
193 | } | ||
194 | } | ||
195 | EXPORT_SYMBOL_GPL(dm_savepowerindex); | ||
196 | |||
161 | static void rtl92c_dm_diginit(struct ieee80211_hw *hw) | 197 | static void rtl92c_dm_diginit(struct ieee80211_hw *hw) |
162 | { | 198 | { |
163 | struct rtl_priv *rtlpriv = rtl_priv(hw); | 199 | struct rtl_priv *rtlpriv = rtl_priv(hw); |