diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-11-30 16:33:15 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-12-02 15:16:45 -0500 |
commit | 76b002bd6dfdd66c58669cbdfa5cd92084b6936e (patch) | |
tree | cde0de46f6271512773c5a3b1f3b7ac1f7dbe19f /drivers | |
parent | 99f6c2ef1e968c0dbdfa8c5b8f2869129b860d88 (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.c | 73 |
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 | ||
70 | enum 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 | |||
70 | static void b43_nphy_stay_in_carrier_search(struct b43_wldev *dev, | 80 | static void b43_nphy_stay_in_carrier_search(struct b43_wldev *dev, |
71 | bool enable); | 81 | bool enable); |
72 | static void b43_nphy_set_rf_sequence(struct b43_wldev *dev, u8 cmd, | 82 | static 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 */ |
1741 | static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, | 1751 | static 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 | ||