diff options
author | Lorenzo Bianconi <lorenzo.bianconi@redhat.com> | 2018-03-15 13:24:20 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2018-03-27 05:10:02 -0400 |
commit | db2ad7c25a9a01aaa53f8a74ff8ce6f35e61179f (patch) | |
tree | 4e404f112508bcd48f315185cfac777180698ad0 | |
parent | b1c2d0f2507bf56d9f4dbd46dc4b99240fbd187c (diff) |
mt76: use mt76_poll_msec routine in mt76pci_load_firmware()
Use mt76_poll_msec() in mt76pci_load_firmware to check if the firmware
has been started instead of explicitly poll MCU running register
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c index 15820b11f9db..dfd36d736b06 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c | |||
@@ -187,7 +187,7 @@ mt76pci_load_firmware(struct mt76x2_dev *dev) | |||
187 | { | 187 | { |
188 | const struct firmware *fw; | 188 | const struct firmware *fw; |
189 | const struct mt76x2_fw_header *hdr; | 189 | const struct mt76x2_fw_header *hdr; |
190 | int i, len, ret; | 190 | int len, ret; |
191 | __le32 *cur; | 191 | __le32 *cur; |
192 | u32 offset, val; | 192 | u32 offset, val; |
193 | 193 | ||
@@ -240,16 +240,7 @@ mt76pci_load_firmware(struct mt76x2_dev *dev) | |||
240 | 240 | ||
241 | /* trigger firmware */ | 241 | /* trigger firmware */ |
242 | mt76_wr(dev, MT_MCU_INT_LEVEL, 2); | 242 | mt76_wr(dev, MT_MCU_INT_LEVEL, 2); |
243 | for (i = 200; i > 0; i--) { | 243 | if (!mt76_poll_msec(dev, MT_MCU_COM_REG0, 1, 1, 200)) { |
244 | val = mt76_rr(dev, MT_MCU_COM_REG0); | ||
245 | |||
246 | if (val & 1) | ||
247 | break; | ||
248 | |||
249 | msleep(10); | ||
250 | } | ||
251 | |||
252 | if (!i) { | ||
253 | dev_err(dev->mt76.dev, "Firmware failed to start\n"); | 244 | dev_err(dev->mt76.dev, "Firmware failed to start\n"); |
254 | release_firmware(fw); | 245 | release_firmware(fw); |
255 | return -ETIMEDOUT; | 246 | return -ETIMEDOUT; |