aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2013-03-20 11:51:39 -0400
committerRafał Miłecki <zajec5@gmail.com>2013-04-23 06:27:56 -0400
commit6aa38725a5768bd01f1076aeda97efec409e16fa (patch)
treec9d297d3778426bd28f8406cd7eee1ad230e9337 /drivers/net/wireless
parent2d551f14101d12402779a0872b842e9f0b2da61a (diff)
b43: N-PHY: use enum for RAIL type
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/b43/phy_n.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index e05dd117f215..f331f2ba7906 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -79,6 +79,11 @@ enum b43_nphy_rssi_type {
79 B43_NPHY_RSSI_TBD, 79 B43_NPHY_RSSI_TBD,
80}; 80};
81 81
82enum n_rail_type {
83 N_RAIL_I = 0,
84 N_RAIL_Q = 1,
85};
86
82static inline bool b43_nphy_ipa(struct b43_wldev *dev) 87static inline bool b43_nphy_ipa(struct b43_wldev *dev)
83{ 88{
84 enum ieee80211_band band = b43_current_band(dev->wl); 89 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 1212
1208/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */ 1213/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */
1209static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, 1214static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale,
1210 s8 offset, u8 core, u8 rail, 1215 s8 offset, u8 core,
1216 enum n_rail_type rail,
1211 enum b43_nphy_rssi_type type) 1217 enum b43_nphy_rssi_type type)
1212{ 1218{
1213 u16 tmp; 1219 u16 tmp;
@@ -1606,8 +1612,8 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
1606 if (!(rx_core_state & (1 << core))) 1612 if (!(rx_core_state & (1 << core)))
1607 continue; 1613 continue;
1608 r = core ? B2056_RX1 : B2056_RX0; 1614 r = core ? B2056_RX1 : B2056_RX0;
1609 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 0, 2); 1615 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, N_RAIL_I, 2);
1610 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 1, 2); 1616 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, N_RAIL_Q, 2);
1611 for (i = 0; i < 8; i++) { 1617 for (i = 0; i < 8; i++) {
1612 b43_radio_maskset(dev, r | B2056_RX_RSSI_MISC, 0xE3, 1618 b43_radio_maskset(dev, r | B2056_RX_RSSI_MISC, 0xE3,
1613 i << 2); 1619 i << 2);
@@ -1647,7 +1653,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
1647 offset[i] = -32; 1653 offset[i] = -32;
1648 b43_nphy_scale_offset_rssi(dev, 0, offset[i], 1654 b43_nphy_scale_offset_rssi(dev, 0, offset[i],
1649 (i / 2 == 0) ? 1 : 2, 1655 (i / 2 == 0) ? 1 : 2,
1650 (i % 2 == 0) ? 0 : 1, 1656 (i % 2 == 0) ? N_RAIL_I : N_RAIL_Q,
1651 2); 1657 2);
1652 } 1658 }
1653 } 1659 }
@@ -1655,8 +1661,10 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
1655 if (!(rx_core_state & (1 << core))) 1661 if (!(rx_core_state & (1 << core)))
1656 continue; 1662 continue;
1657 for (i = 0; i < 2; i++) { 1663 for (i = 0; i < 2; i++) {
1658 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 0, i); 1664 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1,
1659 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1, 1, i); 1665 N_RAIL_I, i);
1666 b43_nphy_scale_offset_rssi(dev, 0, 0, core + 1,
1667 N_RAIL_Q, i);
1660 b43_nphy_poll_rssi(dev, i, poll_results, 8); 1668 b43_nphy_poll_rssi(dev, i, poll_results, 8);
1661 for (j = 0; j < 4; j++) { 1669 for (j = 0; j < 4; j++) {
1662 if (j / 2 == core) { 1670 if (j / 2 == core) {
@@ -1782,8 +1790,8 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type)
1782 state[3] = b43_radio_read16(dev, B2055_C2_SP_RSSI) & 0x07; 1790 state[3] = b43_radio_read16(dev, B2055_C2_SP_RSSI) & 0x07;
1783 1791
1784 b43_nphy_rssi_select(dev, 5, type); 1792 b43_nphy_rssi_select(dev, 5, type);
1785 b43_nphy_scale_offset_rssi(dev, 0, 0, 5, 0, type); 1793 b43_nphy_scale_offset_rssi(dev, 0, 0, 5, N_RAIL_I, type);
1786 b43_nphy_scale_offset_rssi(dev, 0, 0, 5, 1, type); 1794 b43_nphy_scale_offset_rssi(dev, 0, 0, 5, N_RAIL_Q, type);
1787 1795
1788 for (i = 0; i < 4; i++) { 1796 for (i = 0; i < 4; i++) {
1789 u8 tmp[4]; 1797 u8 tmp[4];
@@ -1836,7 +1844,7 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type)
1836 offset[i] = code - 32; 1844 offset[i] = code - 32;
1837 1845
1838 core = (i / 2) ? 2 : 1; 1846 core = (i / 2) ? 2 : 1;
1839 rail = (i % 2) ? 1 : 0; 1847 rail = (i % 2) ? N_RAIL_Q : N_RAIL_I;
1840 1848
1841 b43_nphy_scale_offset_rssi(dev, 0, offset[i], core, rail, 1849 b43_nphy_scale_offset_rssi(dev, 0, offset[i], core, rail,
1842 type); 1850 type);