Commit 86fbf264 authored by Brian Norris's avatar Brian Norris Committed by Kalle Valo

rtw88: use read_poll_timeout_atomic() for poll loop

This gives the added bonus of not wasting an extra udelay() if we're
timing out -- we double-check the register state one last time before
returning.
Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200821235733.1785009-1-briannorris@chromium.org
parent 22b726cb
...@@ -114,18 +114,13 @@ static int rtw_mac_pre_system_cfg(struct rtw_dev *rtwdev) ...@@ -114,18 +114,13 @@ static int rtw_mac_pre_system_cfg(struct rtw_dev *rtwdev)
static bool do_pwr_poll_cmd(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 target) static bool do_pwr_poll_cmd(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 target)
{ {
u32 cnt; u32 val;
target &= mask; target &= mask;
for (cnt = 0; cnt < RTW_PWR_POLLING_CNT; cnt++) { return read_poll_timeout_atomic(rtw_read8, val, (val & mask) == target,
if ((rtw_read8(rtwdev, addr) & mask) == target) 50, 50 * RTW_PWR_POLLING_CNT, false,
return true; rtwdev, addr) == 0;
udelay(50);
}
return false;
} }
static int rtw_pwr_cmd_polling(struct rtw_dev *rtwdev, static int rtw_pwr_cmd_polling(struct rtw_dev *rtwdev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment