Commit 6aa38725 authored by Rafał Miłecki's avatar Rafał Miłecki

b43: N-PHY: use enum for RAIL type

Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
parent 2d551f14
...@@ -79,6 +79,11 @@ enum b43_nphy_rssi_type { ...@@ -79,6 +79,11 @@ enum b43_nphy_rssi_type {
B43_NPHY_RSSI_TBD, B43_NPHY_RSSI_TBD,
}; };
enum n_rail_type {
N_RAIL_I = 0,
N_RAIL_Q = 1,
};
static inline bool b43_nphy_ipa(struct b43_wldev *dev) static inline bool b43_nphy_ipa(struct b43_wldev *dev)
{ {
enum ieee80211_band band = b43_current_band(dev->wl); enum ieee80211_band band = b43_current_band(dev->wl);
...@@ -1207,7 +1212,8 @@ static void b43_nphy_run_samples(struct b43_wldev *dev, u16 samps, u16 loops, ...@@ -1207,7 +1212,8 @@ static void b43_nphy_run_samples(struct b43_wldev *dev, u16 samps, u16 loops,
/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */ /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */
static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale,
s8 offset, u8 core, u8 rail, s8 offset, u8 core,
enum n_rail_type rail,
enum b43_nphy_rssi_type type) enum b43_nphy_rssi_type type)
{ {
u16 tmp; u16 tmp;
...@@ -1606,8 +1612,8 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev) ...@@ -1606,8 +1612,8 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
if (!(rx_core_state & (1 << core))) if (!(rx_core_state & (1 << core)))
continue; continue;
r = core ? B2056_RX1 : B2056_RX0; r = core ? B2056_RX1 : B2056_RX0;
b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 0, 2); b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, N_RAIL_I, 2);
b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 1, 2); b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, N_RAIL_Q, 2);
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
b43_radio_maskset(dev, r | B2056_RX_RSSI_MISC, 0xE3, b43_radio_maskset(dev, r | B2056_RX_RSSI_MISC, 0xE3,
i << 2); i << 2);
...@@ -1647,7 +1653,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev) ...@@ -1647,7 +1653,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
offset[i] = -32; offset[i] = -32;
b43_nphy_scale_offset_rssi(dev, 0, offset[i], b43_nphy_scale_offset_rssi(dev, 0, offset[i],
(i / 2 == 0) ? 1 : 2, (i / 2 == 0) ? 1 : 2,
(i % 2 == 0) ? 0 : 1, (i % 2 == 0) ? N_RAIL_I : N_RAIL_Q,
2); 2);
} }
} }
...@@ -1655,8 +1661,10 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev) ...@@ -1655,8 +1661,10 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
if (!(rx_core_state & (1 << core))) if (!(rx_core_state & (1 << core)))
continue; continue;
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 0, i); b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1,
b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 1, i); N_RAIL_I, i);
b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1,
N_RAIL_Q, i);
b43_nphy_poll_rssi(dev, i, poll_results, 8); b43_nphy_poll_rssi(dev, i, poll_results, 8);
for (j = 0; j < 4; j++) { for (j = 0; j < 4; j++) {
if (j / 2 == core) { if (j / 2 == core) {
...@@ -1782,8 +1790,8 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type) ...@@ -1782,8 +1790,8 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type)
state[3] = b43_radio_read16(dev, B2055_C2_SP_RSSI) & 0x07; state[3] = b43_radio_read16(dev, B2055_C2_SP_RSSI) & 0x07;
b43_nphy_rssi_select(dev, 5, type); b43_nphy_rssi_select(dev, 5, type);
b43_nphy_scale_offset_rssi(dev, 0, 0, 5, 0, type); b43_nphy_scale_offset_rssi(dev, 0, 0, 5, N_RAIL_I, type);
b43_nphy_scale_offset_rssi(dev, 0, 0, 5, 1, type); b43_nphy_scale_offset_rssi(dev, 0, 0, 5, N_RAIL_Q, type);
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
u8 tmp[4]; u8 tmp[4];
...@@ -1836,7 +1844,7 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type) ...@@ -1836,7 +1844,7 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type)
offset[i] = code - 32; offset[i] = code - 32;
core = (i / 2) ? 2 : 1; core = (i / 2) ? 2 : 1;
rail = (i % 2) ? 1 : 0; rail = (i % 2) ? N_RAIL_Q : N_RAIL_I;
b43_nphy_scale_offset_rssi(dev, 0, offset[i], core, rail, b43_nphy_scale_offset_rssi(dev, 0, offset[i], core, rail,
type); type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment