aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2013-03-16 18:24:21 -0400
committerRafał Miłecki <zajec5@gmail.com>2013-04-23 06:27:55 -0400
commitd6657db90a917595b5ed96669239d35a5f69db94 (patch)
tree5177e6461ec4c80f0a32eb6a9410c545ac6befcd /drivers/net/wireless
parentc43933e61ea9b630521bf0d5cf06c155478308a7 (diff)
b43: HT-PHY: rename defines addressing cores on the 2059 radio
After comparing writes to registers at 0x000, 0x400 and 0x800 it seems there are many very similar writes. So 0x000 offset is not for accessing something totally different, but probably just the first out of three cores. Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/b43/phy_ht.c22
-rw-r--r--drivers/net/wireless/b43/radio_2059.h6
2 files changed, 14 insertions, 14 deletions
diff --git a/drivers/net/wireless/b43/phy_ht.c b/drivers/net/wireless/b43/phy_ht.c
index 83239fd87040..d40e799b8dbc 100644
--- a/drivers/net/wireless/b43/phy_ht.c
+++ b/drivers/net/wireless/b43/phy_ht.c
@@ -63,7 +63,7 @@ static void b43_radio_2059_channel_setup(struct b43_wldev *dev,
63 b43_radio_write(dev, 0x98, e->radio_syn98); 63 b43_radio_write(dev, 0x98, e->radio_syn98);
64 64
65 for (i = 0; i < 2; i++) { 65 for (i = 0; i < 2; i++) {
66 routing = i ? R2059_RXRX1 : R2059_TXRX0; 66 routing = i ? R2059_C3 : R2059_C2;
67 b43_radio_write(dev, routing | 0x4a, e->radio_rxtx4a); 67 b43_radio_write(dev, routing | 0x4a, e->radio_rxtx4a);
68 b43_radio_write(dev, routing | 0x58, e->radio_rxtx58); 68 b43_radio_write(dev, routing | 0x58, e->radio_rxtx58);
69 b43_radio_write(dev, routing | 0x5a, e->radio_rxtx5a); 69 b43_radio_write(dev, routing | 0x5a, e->radio_rxtx5a);
@@ -87,7 +87,7 @@ static void b43_radio_2059_channel_setup(struct b43_wldev *dev,
87 87
88static void b43_radio_2059_init(struct b43_wldev *dev) 88static void b43_radio_2059_init(struct b43_wldev *dev)
89{ 89{
90 const u16 routing[] = { R2059_SYN, R2059_TXRX0, R2059_RXRX1 }; 90 const u16 routing[] = { R2059_C1, R2059_C2, R2059_C3 };
91 const u16 radio_values[3][2] = { 91 const u16 radio_values[3][2] = {
92 { 0x61, 0xE9 }, { 0x69, 0xD5 }, { 0x73, 0x99 }, 92 { 0x61, 0xE9 }, { 0x69, 0xD5 }, { 0x73, 0x99 },
93 }; 93 };
@@ -106,17 +106,17 @@ static void b43_radio_2059_init(struct b43_wldev *dev)
106 b43_radio_mask(dev, 0xc0, ~0x0080); 106 b43_radio_mask(dev, 0xc0, ~0x0080);
107 107
108 if (1) { /* FIXME */ 108 if (1) { /* FIXME */
109 b43_radio_set(dev, R2059_RXRX1 | 0x4, 0x1); 109 b43_radio_set(dev, R2059_C3 | 0x4, 0x1);
110 udelay(10); 110 udelay(10);
111 b43_radio_set(dev, R2059_RXRX1 | 0x0BF, 0x1); 111 b43_radio_set(dev, R2059_C3 | 0x0BF, 0x1);
112 b43_radio_maskset(dev, R2059_RXRX1 | 0x19B, 0x3, 0x2); 112 b43_radio_maskset(dev, R2059_C3 | 0x19B, 0x3, 0x2);
113 113
114 b43_radio_set(dev, R2059_RXRX1 | 0x4, 0x2); 114 b43_radio_set(dev, R2059_C3 | 0x4, 0x2);
115 udelay(100); 115 udelay(100);
116 b43_radio_mask(dev, R2059_RXRX1 | 0x4, ~0x2); 116 b43_radio_mask(dev, R2059_C3 | 0x4, ~0x2);
117 117
118 for (i = 0; i < 10000; i++) { 118 for (i = 0; i < 10000; i++) {
119 if (b43_radio_read(dev, R2059_RXRX1 | 0x145) & 1) { 119 if (b43_radio_read(dev, R2059_C3 | 0x145) & 1) {
120 i = 0; 120 i = 0;
121 break; 121 break;
122 } 122 }
@@ -125,7 +125,7 @@ static void b43_radio_2059_init(struct b43_wldev *dev)
125 if (i) 125 if (i)
126 b43err(dev->wl, "radio 0x945 timeout\n"); 126 b43err(dev->wl, "radio 0x945 timeout\n");
127 127
128 b43_radio_mask(dev, R2059_RXRX1 | 0x4, ~0x1); 128 b43_radio_mask(dev, R2059_C3 | 0x4, ~0x1);
129 b43_radio_set(dev, 0xa, 0x60); 129 b43_radio_set(dev, 0xa, 0x60);
130 130
131 for (i = 0; i < 3; i++) { 131 for (i = 0; i < 3; i++) {
@@ -397,7 +397,7 @@ static void b43_phy_ht_rssi_select(struct b43_wldev *dev, u8 core_sel,
397 { B43_PHY_HT_AFE_C2, B43_PHY_HT_AFE_C2_OVER, }, 397 { B43_PHY_HT_AFE_C2, B43_PHY_HT_AFE_C2_OVER, },
398 { B43_PHY_HT_AFE_C3, B43_PHY_HT_AFE_C3_OVER, }, 398 { B43_PHY_HT_AFE_C3, B43_PHY_HT_AFE_C3_OVER, },
399 }; 399 };
400 static const u16 radio_r[] = { R2059_SYN, R2059_TXRX0, R2059_RXRX1, }; 400 static const u16 radio_r[] = { R2059_C1, R2059_C2, R2059_C3, };
401 int core; 401 int core;
402 402
403 if (core_sel == 0) { 403 if (core_sel == 0) {
@@ -417,7 +417,7 @@ static void b43_phy_ht_rssi_select(struct b43_wldev *dev, u8 core_sel,
417 b43_phy_set(dev, ctl_regs[core][1], 0x1 << 9); 417 b43_phy_set(dev, ctl_regs[core][1], 0x1 << 9);
418 b43_phy_set(dev, ctl_regs[core][1], 0x1 << 10); 418 b43_phy_set(dev, ctl_regs[core][1], 0x1 << 10);
419 419
420 b43_radio_set(dev, R2059_RXRX1 | 0xbf, 0x1); 420 b43_radio_set(dev, R2059_C3 | 0xbf, 0x1);
421 b43_radio_write(dev, radio_r[core] | 0x159, 421 b43_radio_write(dev, radio_r[core] | 0x159,
422 0x11); 422 0x11);
423 break; 423 break;
diff --git a/drivers/net/wireless/b43/radio_2059.h b/drivers/net/wireless/b43/radio_2059.h
index e4d69e55e9fe..a6a61fbb71ec 100644
--- a/drivers/net/wireless/b43/radio_2059.h
+++ b/drivers/net/wireless/b43/radio_2059.h
@@ -5,9 +5,9 @@
5 5
6#include "phy_ht.h" 6#include "phy_ht.h"
7 7
8#define R2059_SYN 0x000 8#define R2059_C1 0x000
9#define R2059_TXRX0 0x400 9#define R2059_C2 0x400
10#define R2059_RXRX1 0x800 10#define R2059_C3 0x800
11#define R2059_ALL 0xC00 11#define R2059_ALL 0xC00
12 12
13/* Values for various registers uploaded on channel switching */ 13/* Values for various registers uploaded on channel switching */