aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2010-11-30 16:33:15 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-02 15:16:45 -0500
commit76b002bd6dfdd66c58669cbdfa5cd92084b6936e (patch)
treecde0de46f6271512773c5a3b1f3b7ac1f7dbe19f /drivers
parent99f6c2ef1e968c0dbdfa8c5b8f2869129b860d88 (diff)
b43: N-PHY: use defines for RSSI types
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/b43/phy_n.c73
1 files changed, 45 insertions, 28 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index 1d0847624bb..f26b60b95db 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -67,6 +67,16 @@ enum b43_nphy_rf_sequence {
67 B43_RFSEQ_UPDATE_GAINU, 67 B43_RFSEQ_UPDATE_GAINU,
68}; 68};
69 69
70enum b43_nphy_rssi_type {
71 B43_NPHY_RSSI_X = 0,
72 B43_NPHY_RSSI_Y,
73 B43_NPHY_RSSI_Z,
74 B43_NPHY_RSSI_PWRDET,
75 B43_NPHY_RSSI_TSSI_I,
76 B43_NPHY_RSSI_TSSI_Q,
77 B43_NPHY_RSSI_TBD,
78};
79
70static void b43_nphy_stay_in_carrier_search(struct b43_wldev *dev, 80static void b43_nphy_stay_in_carrier_search(struct b43_wldev *dev,
71 bool enable); 81 bool enable);
72static void b43_nphy_set_rf_sequence(struct b43_wldev *dev, u8 cmd, 82static void b43_nphy_set_rf_sequence(struct b43_wldev *dev, u8 cmd,
@@ -1739,7 +1749,8 @@ static void b43_nphy_bphy_init(struct b43_wldev *dev)
1739 1749
1740/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */ 1750/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */
1741static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, 1751static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale,
1742 s8 offset, u8 core, u8 rail, u8 type) 1752 s8 offset, u8 core, u8 rail,
1753 enum b43_nphy_rssi_type type)
1743{ 1754{
1744 u16 tmp; 1755 u16 tmp;
1745 bool core1or5 = (core == 1) || (core == 5); 1756 bool core1or5 = (core == 1) || (core == 5);
@@ -1748,53 +1759,59 @@ static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale,
1748 offset = clamp_val(offset, -32, 31); 1759 offset = clamp_val(offset, -32, 31);
1749 tmp = ((scale & 0x3F) << 8) | (offset & 0x3F); 1760 tmp = ((scale & 0x3F) << 8) | (offset & 0x3F);
1750 1761
1751 if (core1or5 && (rail == 0) && (type == 2)) 1762 if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_Z))
1752 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Z, tmp); 1763 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Z, tmp);
1753 if (core1or5 && (rail == 1) && (type == 2)) 1764 if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_Z))
1754 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Z, tmp); 1765 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Z, tmp);
1755 if (core2or5 && (rail == 0) && (type == 2)) 1766 if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_Z))
1756 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Z, tmp); 1767 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Z, tmp);
1757 if (core2or5 && (rail == 1) && (type == 2)) 1768 if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_Z))
1758 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Z, tmp); 1769 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Z, tmp);
1759 if (core1or5 && (rail == 0) && (type == 0)) 1770
1771 if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_X))
1760 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_X, tmp); 1772 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_X, tmp);
1761 if (core1or5 && (rail == 1) && (type == 0)) 1773 if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_X))
1762 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_X, tmp); 1774 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_X, tmp);
1763 if (core2or5 && (rail == 0) && (type == 0)) 1775 if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_X))
1764 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_X, tmp); 1776 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_X, tmp);
1765 if (core2or5 && (rail == 1) && (type == 0)) 1777 if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_X))
1766 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_X, tmp); 1778 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_X, tmp);
1767 if (core1or5 && (rail == 0) && (type == 1)) 1779
1780 if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_Y))
1768 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Y, tmp); 1781 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Y, tmp);
1769 if (core1or5 && (rail == 1) && (type == 1)) 1782 if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_Y))
1770 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Y, tmp); 1783 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Y, tmp);
1771 if (core2or5 && (rail == 0) && (type == 1)) 1784 if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_Y))
1772 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Y, tmp); 1785 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Y, tmp);
1773 if (core2or5 && (rail == 1) && (type == 1)) 1786 if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_Y))
1774 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Y, tmp); 1787 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Y, tmp);
1775 if (core1or5 && (rail == 0) && (type == 6)) 1788
1789 if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_TBD))
1776 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TBD, tmp); 1790 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TBD, tmp);
1777 if (core1or5 && (rail == 1) && (type == 6)) 1791 if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_TBD))
1778 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TBD, tmp); 1792 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TBD, tmp);
1779 if (core2or5 && (rail == 0) && (type == 6)) 1793 if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_TBD))
1780 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TBD, tmp); 1794 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TBD, tmp);
1781 if (core2or5 && (rail == 1) && (type == 6)) 1795 if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_TBD))
1782 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TBD, tmp); 1796 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TBD, tmp);
1783 if (core1or5 && (rail == 0) && (type == 3)) 1797
1798 if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_PWRDET))
1784 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_PWRDET, tmp); 1799 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_PWRDET, tmp);
1785 if (core1or5 && (rail == 1) && (type == 3)) 1800 if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_PWRDET))
1786 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_PWRDET, tmp); 1801 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_PWRDET, tmp);
1787 if (core2or5 && (rail == 0) && (type == 3)) 1802 if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_PWRDET))
1788 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_PWRDET, tmp); 1803 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_PWRDET, tmp);
1789 if (core2or5 && (rail == 1) && (type == 3)) 1804 if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_PWRDET))
1790 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_PWRDET, tmp); 1805 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_PWRDET, tmp);
1791 if (core1or5 && (type == 4)) 1806
1807 if (core1or5 && (type == B43_NPHY_RSSI_TSSI_I))
1792 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TSSI, tmp); 1808 b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TSSI, tmp);
1793 if (core2or5 && (type == 4)) 1809 if (core2or5 && (type == B43_NPHY_RSSI_TSSI_I))
1794 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TSSI, tmp); 1810 b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TSSI, tmp);
1795 if (core1or5 && (type == 5)) 1811
1812 if (core1or5 && (type == B43_NPHY_RSSI_TSSI_Q))
1796 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TSSI, tmp); 1813 b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TSSI, tmp);
1797 if (core2or5 && (type == 5)) 1814 if (core2or5 && (type == B43_NPHY_RSSI_TSSI_Q))
1798 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TSSI, tmp); 1815 b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TSSI, tmp);
1799} 1816}
1800 1817
@@ -2246,9 +2263,9 @@ static void b43_nphy_rssi_cal(struct b43_wldev *dev)
2246 if (dev->phy.rev >= 3) { 2263 if (dev->phy.rev >= 3) {
2247 b43_nphy_rev3_rssi_cal(dev); 2264 b43_nphy_rev3_rssi_cal(dev);
2248 } else { 2265 } else {
2249 b43_nphy_rev2_rssi_cal(dev, 2); 2266 b43_nphy_rev2_rssi_cal(dev, B43_NPHY_RSSI_Z);
2250 b43_nphy_rev2_rssi_cal(dev, 0); 2267 b43_nphy_rev2_rssi_cal(dev, B43_NPHY_RSSI_X);
2251 b43_nphy_rev2_rssi_cal(dev, 1); 2268 b43_nphy_rev2_rssi_cal(dev, B43_NPHY_RSSI_Y);
2252 } 2269 }
2253} 2270}
2254 2271