diff options
author | Lorenzo Bianconi <lorenzo.bianconi@redhat.com> | 2018-10-12 06:16:24 -0400 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2018-10-13 11:39:48 -0400 |
commit | b225a9b6c27ef2a0ea4a5e7fce647c6017b8affb (patch) | |
tree | e5bb6ce5c7a880aa1edf2d651124fde07c1175f9 /drivers/net/wireless | |
parent | 66a34c66e0cbf53c9e5c8b8f4445bf6f271c4571 (diff) |
mt76: move rssi_gain_thresh routines in mt76x02-lib module
Move mt76x2_get_rssi_gain_thresh and mt76x2_get_low_rssi_gain_thresh
routines in mt76x02-lib module in order to be reused by mt76x0 driver
for dynamic vga calibration
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76x02_phy.h | 26 | ||||
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c | 30 |
2 files changed, 28 insertions, 28 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h b/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h index 1a20c1852dbf..3a5ba5d209ba 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h | |||
@@ -19,6 +19,32 @@ | |||
19 | 19 | ||
20 | #include "mt76x02_regs.h" | 20 | #include "mt76x02_regs.h" |
21 | 21 | ||
22 | static inline int | ||
23 | mt76x02_get_rssi_gain_thresh(struct mt76x02_dev *dev) | ||
24 | { | ||
25 | switch (dev->mt76.chandef.width) { | ||
26 | case NL80211_CHAN_WIDTH_80: | ||
27 | return -62; | ||
28 | case NL80211_CHAN_WIDTH_40: | ||
29 | return -65; | ||
30 | default: | ||
31 | return -68; | ||
32 | } | ||
33 | } | ||
34 | |||
35 | static inline int | ||
36 | mt76x02_get_low_rssi_gain_thresh(struct mt76x02_dev *dev) | ||
37 | { | ||
38 | switch (dev->mt76.chandef.width) { | ||
39 | case NL80211_CHAN_WIDTH_80: | ||
40 | return -76; | ||
41 | case NL80211_CHAN_WIDTH_40: | ||
42 | return -79; | ||
43 | default: | ||
44 | return -82; | ||
45 | } | ||
46 | } | ||
47 | |||
22 | void mt76x02_add_rate_power_offset(struct mt76_rate_power *r, int offset); | 48 | void mt76x02_add_rate_power_offset(struct mt76_rate_power *r, int offset); |
23 | void mt76x02_phy_set_txpower(struct mt76x02_dev *dev, int txp_0, int txp_2); | 49 | void mt76x02_phy_set_txpower(struct mt76x02_dev *dev, int txp_0, int txp_2); |
24 | void mt76x02_limit_rate_power(struct mt76_rate_power *r, int limit); | 50 | void mt76x02_limit_rate_power(struct mt76_rate_power *r, int limit); |
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c b/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c index 55708b8e6e10..86b87d896b46 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c | |||
@@ -131,32 +131,6 @@ mt76x2_get_agc_gain(struct mt76x02_dev *dev, u8 *dest) | |||
131 | dest[1] = mt76_get_field(dev, MT_BBP(AGC, 9), MT_BBP_AGC_GAIN); | 131 | dest[1] = mt76_get_field(dev, MT_BBP(AGC, 9), MT_BBP_AGC_GAIN); |
132 | } | 132 | } |
133 | 133 | ||
134 | static int | ||
135 | mt76x2_get_rssi_gain_thresh(struct mt76x02_dev *dev) | ||
136 | { | ||
137 | switch (dev->mt76.chandef.width) { | ||
138 | case NL80211_CHAN_WIDTH_80: | ||
139 | return -62; | ||
140 | case NL80211_CHAN_WIDTH_40: | ||
141 | return -65; | ||
142 | default: | ||
143 | return -68; | ||
144 | } | ||
145 | } | ||
146 | |||
147 | static int | ||
148 | mt76x2_get_low_rssi_gain_thresh(struct mt76x02_dev *dev) | ||
149 | { | ||
150 | switch (dev->mt76.chandef.width) { | ||
151 | case NL80211_CHAN_WIDTH_80: | ||
152 | return -76; | ||
153 | case NL80211_CHAN_WIDTH_40: | ||
154 | return -79; | ||
155 | default: | ||
156 | return -82; | ||
157 | } | ||
158 | } | ||
159 | |||
160 | static void | 134 | static void |
161 | mt76x2_phy_set_gain_val(struct mt76x02_dev *dev) | 135 | mt76x2_phy_set_gain_val(struct mt76x02_dev *dev) |
162 | { | 136 | { |
@@ -212,8 +186,8 @@ mt76x2_phy_update_channel_gain(struct mt76x02_dev *dev) | |||
212 | 186 | ||
213 | dev->cal.avg_rssi_all = mt76x02_phy_get_min_avg_rssi(dev); | 187 | dev->cal.avg_rssi_all = mt76x02_phy_get_min_avg_rssi(dev); |
214 | 188 | ||
215 | low_gain = (dev->cal.avg_rssi_all > mt76x2_get_rssi_gain_thresh(dev)) + | 189 | low_gain = (dev->cal.avg_rssi_all > mt76x02_get_rssi_gain_thresh(dev)) + |
216 | (dev->cal.avg_rssi_all > mt76x2_get_low_rssi_gain_thresh(dev)); | 190 | (dev->cal.avg_rssi_all > mt76x02_get_low_rssi_gain_thresh(dev)); |
217 | 191 | ||
218 | gain_change = (dev->cal.low_gain & 2) ^ (low_gain & 2); | 192 | gain_change = (dev->cal.low_gain & 2) ^ (low_gain & 2); |
219 | dev->cal.low_gain = low_gain; | 193 | dev->cal.low_gain = low_gain; |