Message ID | b2abf42bbd5e5f41082bd17df018dcb203aa2f86.1521128408.git.lorenzo.bianconi@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | db2ad7c25a9a01aaa53f8a74ff8ce6f35e61179f |
Delegated to: | Kalle Valo |
Headers | show |
Lorenzo Bianconi <lorenzo.bianconi@redhat.com> wrote: > 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> Patch applied to wireless-drivers-next.git, thanks. db2ad7c25a9a mt76: use mt76_poll_msec routine in mt76pci_load_firmware()
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) { const struct firmware *fw; const struct mt76x2_fw_header *hdr; - int i, len, ret; + int len, ret; __le32 *cur; u32 offset, val; @@ -240,16 +240,7 @@ mt76pci_load_firmware(struct mt76x2_dev *dev) /* trigger firmware */ mt76_wr(dev, MT_MCU_INT_LEVEL, 2); - for (i = 200; i > 0; i--) { - val = mt76_rr(dev, MT_MCU_COM_REG0); - - if (val & 1) - break; - - msleep(10); - } - - if (!i) { + if (!mt76_poll_msec(dev, MT_MCU_COM_REG0, 1, 1, 200)) { dev_err(dev->mt76.dev, "Firmware failed to start\n"); release_firmware(fw); return -ETIMEDOUT;
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> --- drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-)