diff options
author | Lorenzo Bianconi <lorenzo.bianconi@redhat.com> | 2018-10-07 05:45:19 -0400 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2018-10-13 11:39:18 -0400 |
commit | bfdff5d03e9bc6837acd0bad574cb263d6e345c3 (patch) | |
tree | 2eba4a11c578c29e0bfddf11c123a72d3060fb4a /drivers/net/wireless | |
parent | 499cd0aa3ba60e202abf233d7a7b5e8a4b725d37 (diff) |
mt76: use mt76x02_dev instead of mt76_dev in mt76x02_phy.c
Use mt76x02_dev data structure as reference in mt76x02_phy.c
instead of mt76_dev
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless')
7 files changed, 56 insertions, 59 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c b/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c index d5fe248e7839..fdf1b3482fd0 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c | |||
@@ -618,7 +618,7 @@ void mt76x0_phy_set_txpower(struct mt76x02_dev *dev) | |||
618 | dev->mt76.txpower_cur = mt76x02_get_max_rate_power(t); | 618 | dev->mt76.txpower_cur = mt76x02_get_max_rate_power(t); |
619 | mt76x02_add_rate_power_offset(t, -info[0]); | 619 | mt76x02_add_rate_power_offset(t, -info[0]); |
620 | 620 | ||
621 | mt76x02_phy_set_txpower(&dev->mt76, info[0], info[1]); | 621 | mt76x02_phy_set_txpower(dev, info[0], info[1]); |
622 | } | 622 | } |
623 | 623 | ||
624 | int mt76x0_phy_set_channel(struct mt76x02_dev *dev, | 624 | int mt76x0_phy_set_channel(struct mt76x02_dev *dev, |
@@ -815,7 +815,7 @@ static void mt76x0_dynamic_vga_tuning(struct mt76x02_dev *dev) | |||
815 | int avg_rssi; | 815 | int avg_rssi; |
816 | 816 | ||
817 | init_vga = chandef->chan->band == NL80211_BAND_5GHZ ? 0x54 : 0x4E; | 817 | init_vga = chandef->chan->band == NL80211_BAND_5GHZ ? 0x54 : 0x4E; |
818 | avg_rssi = mt76x02_phy_get_min_avg_rssi(&dev->mt76); | 818 | avg_rssi = mt76x02_phy_get_min_avg_rssi(dev); |
819 | if (avg_rssi > -60) | 819 | if (avg_rssi > -60) |
820 | init_vga -= 0x20; | 820 | init_vga -= 0x20; |
821 | else if (avg_rssi > -70) | 821 | else if (avg_rssi > -70) |
@@ -897,6 +897,6 @@ void mt76x0_phy_init(struct mt76x02_dev *dev) | |||
897 | INIT_DELAYED_WORK(&dev->cal_work, mt76x0_phy_calibrate); | 897 | INIT_DELAYED_WORK(&dev->cal_work, mt76x0_phy_calibrate); |
898 | 898 | ||
899 | mt76x0_rf_init(dev); | 899 | mt76x0_rf_init(dev); |
900 | mt76x02_phy_set_rxpath(&dev->mt76); | 900 | mt76x02_phy_set_rxpath(dev); |
901 | mt76x02_phy_set_txdac(&dev->mt76); | 901 | mt76x02_phy_set_txdac(dev); |
902 | } | 902 | } |
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_phy.c b/drivers/net/wireless/mediatek/mt76/mt76x02_phy.c index d31ce1d7b689..c398471b6376 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_phy.c | |||
@@ -17,18 +17,17 @@ | |||
17 | 17 | ||
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | 19 | ||
20 | #include "mt76.h" | 20 | #include "mt76x02.h" |
21 | #include "mt76x02_phy.h" | 21 | #include "mt76x02_phy.h" |
22 | #include "mt76x02_mac.h" | ||
23 | 22 | ||
24 | void mt76x02_phy_set_rxpath(struct mt76_dev *dev) | 23 | void mt76x02_phy_set_rxpath(struct mt76x02_dev *dev) |
25 | { | 24 | { |
26 | u32 val; | 25 | u32 val; |
27 | 26 | ||
28 | val = __mt76_rr(dev, MT_BBP(AGC, 0)); | 27 | val = mt76_rr(dev, MT_BBP(AGC, 0)); |
29 | val &= ~BIT(4); | 28 | val &= ~BIT(4); |
30 | 29 | ||
31 | switch (dev->chainmask & 0xf) { | 30 | switch (dev->mt76.chainmask & 0xf) { |
32 | case 2: | 31 | case 2: |
33 | val |= BIT(3); | 32 | val |= BIT(3); |
34 | break; | 33 | break; |
@@ -37,23 +36,23 @@ void mt76x02_phy_set_rxpath(struct mt76_dev *dev) | |||
37 | break; | 36 | break; |
38 | } | 37 | } |
39 | 38 | ||
40 | __mt76_wr(dev, MT_BBP(AGC, 0), val); | 39 | mt76_wr(dev, MT_BBP(AGC, 0), val); |
41 | mb(); | 40 | mb(); |
42 | val = __mt76_rr(dev, MT_BBP(AGC, 0)); | 41 | val = mt76_rr(dev, MT_BBP(AGC, 0)); |
43 | } | 42 | } |
44 | EXPORT_SYMBOL_GPL(mt76x02_phy_set_rxpath); | 43 | EXPORT_SYMBOL_GPL(mt76x02_phy_set_rxpath); |
45 | 44 | ||
46 | void mt76x02_phy_set_txdac(struct mt76_dev *dev) | 45 | void mt76x02_phy_set_txdac(struct mt76x02_dev *dev) |
47 | { | 46 | { |
48 | int txpath; | 47 | int txpath; |
49 | 48 | ||
50 | txpath = (dev->chainmask >> 8) & 0xf; | 49 | txpath = (dev->mt76.chainmask >> 8) & 0xf; |
51 | switch (txpath) { | 50 | switch (txpath) { |
52 | case 2: | 51 | case 2: |
53 | __mt76_set(dev, MT_BBP(TXBE, 5), 0x3); | 52 | mt76_set(dev, MT_BBP(TXBE, 5), 0x3); |
54 | break; | 53 | break; |
55 | default: | 54 | default: |
56 | __mt76_clear(dev, MT_BBP(TXBE, 5), 0x3); | 55 | mt76_clear(dev, MT_BBP(TXBE, 5), 0x3); |
57 | break; | 56 | break; |
58 | } | 57 | } |
59 | } | 58 | } |
@@ -102,40 +101,38 @@ void mt76x02_add_rate_power_offset(struct mt76_rate_power *r, int offset) | |||
102 | } | 101 | } |
103 | EXPORT_SYMBOL_GPL(mt76x02_add_rate_power_offset); | 102 | EXPORT_SYMBOL_GPL(mt76x02_add_rate_power_offset); |
104 | 103 | ||
105 | void mt76x02_phy_set_txpower(struct mt76_dev *dev, int txp_0, int txp_1) | 104 | void mt76x02_phy_set_txpower(struct mt76x02_dev *dev, int txp_0, int txp_1) |
106 | { | 105 | { |
107 | struct mt76_rate_power *t = &dev->rate_power; | 106 | struct mt76_rate_power *t = &dev->mt76.rate_power; |
108 | 107 | ||
109 | __mt76_rmw_field(dev, MT_TX_ALC_CFG_0, MT_TX_ALC_CFG_0_CH_INIT_0, | 108 | mt76_rmw_field(dev, MT_TX_ALC_CFG_0, MT_TX_ALC_CFG_0_CH_INIT_0, txp_0); |
110 | txp_0); | 109 | mt76_rmw_field(dev, MT_TX_ALC_CFG_0, MT_TX_ALC_CFG_0_CH_INIT_1, txp_1); |
111 | __mt76_rmw_field(dev, MT_TX_ALC_CFG_0, MT_TX_ALC_CFG_0_CH_INIT_1, | 110 | |
112 | txp_1); | 111 | mt76_wr(dev, MT_TX_PWR_CFG_0, |
113 | 112 | mt76x02_tx_power_mask(t->cck[0], t->cck[2], t->ofdm[0], | |
114 | __mt76_wr(dev, MT_TX_PWR_CFG_0, | 113 | t->ofdm[2])); |
115 | mt76x02_tx_power_mask(t->cck[0], t->cck[2], t->ofdm[0], | 114 | mt76_wr(dev, MT_TX_PWR_CFG_1, |
116 | t->ofdm[2])); | 115 | mt76x02_tx_power_mask(t->ofdm[4], t->ofdm[6], t->ht[0], |
117 | __mt76_wr(dev, MT_TX_PWR_CFG_1, | 116 | t->ht[2])); |
118 | mt76x02_tx_power_mask(t->ofdm[4], t->ofdm[6], t->ht[0], | 117 | mt76_wr(dev, MT_TX_PWR_CFG_2, |
119 | t->ht[2])); | 118 | mt76x02_tx_power_mask(t->ht[4], t->ht[6], t->ht[8], |
120 | __mt76_wr(dev, MT_TX_PWR_CFG_2, | 119 | t->ht[10])); |
121 | mt76x02_tx_power_mask(t->ht[4], t->ht[6], t->ht[8], | 120 | mt76_wr(dev, MT_TX_PWR_CFG_3, |
122 | t->ht[10])); | 121 | mt76x02_tx_power_mask(t->ht[12], t->ht[14], t->stbc[0], |
123 | __mt76_wr(dev, MT_TX_PWR_CFG_3, | 122 | t->stbc[2])); |
124 | mt76x02_tx_power_mask(t->ht[12], t->ht[14], t->stbc[0], | 123 | mt76_wr(dev, MT_TX_PWR_CFG_4, |
125 | t->stbc[2])); | 124 | mt76x02_tx_power_mask(t->stbc[4], t->stbc[6], 0, 0)); |
126 | __mt76_wr(dev, MT_TX_PWR_CFG_4, | 125 | mt76_wr(dev, MT_TX_PWR_CFG_7, |
127 | mt76x02_tx_power_mask(t->stbc[4], t->stbc[6], 0, 0)); | 126 | mt76x02_tx_power_mask(t->ofdm[7], t->vht[8], t->ht[7], |
128 | __mt76_wr(dev, MT_TX_PWR_CFG_7, | 127 | t->vht[9])); |
129 | mt76x02_tx_power_mask(t->ofdm[7], t->vht[8], t->ht[7], | 128 | mt76_wr(dev, MT_TX_PWR_CFG_8, |
130 | t->vht[9])); | 129 | mt76x02_tx_power_mask(t->ht[14], 0, t->vht[8], t->vht[9])); |
131 | __mt76_wr(dev, MT_TX_PWR_CFG_8, | 130 | mt76_wr(dev, MT_TX_PWR_CFG_9, |
132 | mt76x02_tx_power_mask(t->ht[14], 0, t->vht[8], t->vht[9])); | 131 | mt76x02_tx_power_mask(t->ht[7], 0, t->stbc[8], t->stbc[9])); |
133 | __mt76_wr(dev, MT_TX_PWR_CFG_9, | ||
134 | mt76x02_tx_power_mask(t->ht[7], 0, t->stbc[8], t->stbc[9])); | ||
135 | } | 132 | } |
136 | EXPORT_SYMBOL_GPL(mt76x02_phy_set_txpower); | 133 | EXPORT_SYMBOL_GPL(mt76x02_phy_set_txpower); |
137 | 134 | ||
138 | int mt76x02_phy_get_min_avg_rssi(struct mt76_dev *dev) | 135 | int mt76x02_phy_get_min_avg_rssi(struct mt76x02_dev *dev) |
139 | { | 136 | { |
140 | struct mt76x02_sta *sta; | 137 | struct mt76x02_sta *sta; |
141 | struct mt76_wcid *wcid; | 138 | struct mt76_wcid *wcid; |
@@ -145,8 +142,8 @@ int mt76x02_phy_get_min_avg_rssi(struct mt76_dev *dev) | |||
145 | local_bh_disable(); | 142 | local_bh_disable(); |
146 | rcu_read_lock(); | 143 | rcu_read_lock(); |
147 | 144 | ||
148 | for (i = 0; i < ARRAY_SIZE(dev->wcid_mask); i++) { | 145 | for (i = 0; i < ARRAY_SIZE(dev->mt76.wcid_mask); i++) { |
149 | unsigned long mask = dev->wcid_mask[i]; | 146 | unsigned long mask = dev->mt76.wcid_mask[i]; |
150 | 147 | ||
151 | if (!mask) | 148 | if (!mask) |
152 | continue; | 149 | continue; |
@@ -155,17 +152,17 @@ int mt76x02_phy_get_min_avg_rssi(struct mt76_dev *dev) | |||
155 | if (!(mask & 1)) | 152 | if (!(mask & 1)) |
156 | continue; | 153 | continue; |
157 | 154 | ||
158 | wcid = rcu_dereference(dev->wcid[j]); | 155 | wcid = rcu_dereference(dev->mt76.wcid[j]); |
159 | if (!wcid) | 156 | if (!wcid) |
160 | continue; | 157 | continue; |
161 | 158 | ||
162 | sta = container_of(wcid, struct mt76x02_sta, wcid); | 159 | sta = container_of(wcid, struct mt76x02_sta, wcid); |
163 | spin_lock(&dev->rx_lock); | 160 | spin_lock(&dev->mt76.rx_lock); |
164 | if (sta->inactive_count++ < 5) | 161 | if (sta->inactive_count++ < 5) |
165 | cur_rssi = ewma_signal_read(&sta->rssi); | 162 | cur_rssi = ewma_signal_read(&sta->rssi); |
166 | else | 163 | else |
167 | cur_rssi = 0; | 164 | cur_rssi = 0; |
168 | spin_unlock(&dev->rx_lock); | 165 | spin_unlock(&dev->mt76.rx_lock); |
169 | 166 | ||
170 | if (cur_rssi < min_rssi) | 167 | if (cur_rssi < min_rssi) |
171 | min_rssi = cur_rssi; | 168 | min_rssi = cur_rssi; |
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h b/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h index e70ea6eeb077..c370b4cc68ee 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_phy.h | |||
@@ -20,11 +20,11 @@ | |||
20 | #include "mt76x02_regs.h" | 20 | #include "mt76x02_regs.h" |
21 | 21 | ||
22 | void mt76x02_add_rate_power_offset(struct mt76_rate_power *r, int offset); | 22 | void mt76x02_add_rate_power_offset(struct mt76_rate_power *r, int offset); |
23 | void mt76x02_phy_set_txpower(struct mt76_dev *dev, int txp_0, int txp_2); | 23 | 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); | 24 | void mt76x02_limit_rate_power(struct mt76_rate_power *r, int limit); |
25 | int mt76x02_get_max_rate_power(struct mt76_rate_power *r); | 25 | int mt76x02_get_max_rate_power(struct mt76_rate_power *r); |
26 | void mt76x02_phy_set_rxpath(struct mt76_dev *dev); | 26 | void mt76x02_phy_set_rxpath(struct mt76x02_dev *dev); |
27 | void mt76x02_phy_set_txdac(struct mt76_dev *dev); | 27 | void mt76x02_phy_set_txdac(struct mt76x02_dev *dev); |
28 | int mt76x02_phy_get_min_avg_rssi(struct mt76_dev *dev); | 28 | int mt76x02_phy_get_min_avg_rssi(struct mt76x02_dev *dev); |
29 | 29 | ||
30 | #endif /* __MT76x02_PHY_H */ | 30 | #endif /* __MT76x02_PHY_H */ |
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c b/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c index bdc6fba217b1..aff0363e0958 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c | |||
@@ -210,7 +210,7 @@ mt76x2_phy_update_channel_gain(struct mt76x02_dev *dev) | |||
210 | int low_gain; | 210 | int low_gain; |
211 | u32 val; | 211 | u32 val; |
212 | 212 | ||
213 | dev->cal.avg_rssi_all = mt76x02_phy_get_min_avg_rssi(&dev->mt76); | 213 | dev->cal.avg_rssi_all = mt76x02_phy_get_min_avg_rssi(dev); |
214 | 214 | ||
215 | low_gain = (dev->cal.avg_rssi_all > mt76x2_get_rssi_gain_thresh(dev)) + | 215 | low_gain = (dev->cal.avg_rssi_all > mt76x2_get_rssi_gain_thresh(dev)) + |
216 | (dev->cal.avg_rssi_all > mt76x2_get_low_rssi_gain_thresh(dev)); | 216 | (dev->cal.avg_rssi_all > mt76x2_get_low_rssi_gain_thresh(dev)); |
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c b/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c index 31bf0f891028..93bcab7cccfd 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c | |||
@@ -187,7 +187,7 @@ void mt76x2_phy_set_txpower(struct mt76x02_dev *dev) | |||
187 | dev->target_power_delta[1] = txp_1 - txp.chain[0].target_power; | 187 | dev->target_power_delta[1] = txp_1 - txp.chain[0].target_power; |
188 | dev->mt76.rate_power = t; | 188 | dev->mt76.rate_power = t; |
189 | 189 | ||
190 | mt76x02_phy_set_txpower(&dev->mt76, txp_0, txp_1); | 190 | mt76x02_phy_set_txpower(dev, txp_0, txp_1); |
191 | } | 191 | } |
192 | EXPORT_SYMBOL_GPL(mt76x2_phy_set_txpower); | 192 | EXPORT_SYMBOL_GPL(mt76x2_phy_set_txpower); |
193 | 193 | ||
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c index 7578c7dcd62a..6214781714c4 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c | |||
@@ -237,8 +237,8 @@ int mt76x2u_init_hardware(struct mt76x02_dev *dev) | |||
237 | if (err < 0) | 237 | if (err < 0) |
238 | return err; | 238 | return err; |
239 | 239 | ||
240 | mt76x02_phy_set_rxpath(&dev->mt76); | 240 | mt76x02_phy_set_rxpath(dev); |
241 | mt76x02_phy_set_txdac(&dev->mt76); | 241 | mt76x02_phy_set_txdac(dev); |
242 | 242 | ||
243 | return mt76x2u_mac_stop(dev); | 243 | return mt76x2u_mac_stop(dev); |
244 | } | 244 | } |
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c index e0ffdd51dced..c4c437770fc9 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c | |||
@@ -69,7 +69,7 @@ mt76x2u_phy_update_channel_gain(struct mt76x02_dev *dev) | |||
69 | break; | 69 | break; |
70 | } | 70 | } |
71 | 71 | ||
72 | dev->cal.avg_rssi_all = mt76x02_phy_get_min_avg_rssi(&dev->mt76); | 72 | dev->cal.avg_rssi_all = mt76x02_phy_get_min_avg_rssi(dev); |
73 | false_cca = FIELD_GET(MT_RX_STAT_1_CCA_ERRORS, | 73 | false_cca = FIELD_GET(MT_RX_STAT_1_CCA_ERRORS, |
74 | mt76_rr(dev, MT_RX_STAT_1)); | 74 | mt76_rr(dev, MT_RX_STAT_1)); |
75 | 75 | ||