Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

b43: HT-PHY: read clip state

We don't know yet when to restore it, implement just reading. We found
out what for are that PHY ops by comparing HT with N code.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Rafał Miłecki and committed by
John W. Linville
ea5a08cf c750f795

+14 -1
+10 -1
drivers/net/wireless/b43/phy_ht.c
··· 212 212 b43_phy_write(dev, B43_PHY_HT_RF_SEQ_MODE, save_seq_mode); 213 213 } 214 214 215 + static void b43_phy_ht_read_clip_detection(struct b43_wldev *dev, u16 *clip_st) 216 + { 217 + clip_st[0] = b43_phy_read(dev, B43_PHY_HT_C1_CLIP1THRES); 218 + clip_st[1] = b43_phy_read(dev, B43_PHY_HT_C2_CLIP1THRES); 219 + clip_st[2] = b43_phy_read(dev, B43_PHY_HT_C3_CLIP1THRES); 220 + } 221 + 215 222 static void b43_phy_ht_bphy_init(struct b43_wldev *dev) 216 223 { 217 224 unsigned int i; ··· 342 335 static int b43_phy_ht_op_init(struct b43_wldev *dev) 343 336 { 344 337 u16 tmp; 338 + u16 clip_state[3]; 345 339 346 340 b43_phy_ht_tables_init(dev); 347 341 ··· 451 443 452 444 /* TODO: PHY op on reg 0xb0 */ 453 445 454 - /* TODO: PHY ops on regs 0x40e, 0x44e, 0x48e */ 446 + /* TODO: Should we restore it? Or store it in global PHY info? */ 447 + b43_phy_ht_read_clip_detection(dev, clip_state); 455 448 456 449 if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) 457 450 b43_phy_ht_bphy_init(dev);
+4
drivers/net/wireless/b43/phy_ht.h
··· 19 19 #define B43_PHY_HT_BW5 0x1D2 20 20 #define B43_PHY_HT_BW6 0x1D3 21 21 22 + #define B43_PHY_HT_C1_CLIP1THRES B43_PHY_OFDM(0x00E) 23 + #define B43_PHY_HT_C2_CLIP1THRES B43_PHY_OFDM(0x04E) 24 + #define B43_PHY_HT_C3_CLIP1THRES B43_PHY_OFDM(0x08E) 25 + 22 26 #define B43_PHY_HT_RF_SEQ_MODE B43_PHY_EXTG(0x000) 23 27 #define B43_PHY_HT_RF_SEQ_TRIG B43_PHY_EXTG(0x003) 24 28 #define B43_PHY_HT_RF_SEQ_TRIG_RX2TX 0x0001 /* RX2TX */