Message ID | 20200821235733.1785009-1-briannorris@chromium.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 86fbf26491941352799822c8c324f5c9d8101e62 |
Delegated to: | Kalle Valo |
Headers | show |
Series | rtw88: use read_poll_timeout_atomic() for poll loop | expand |
Brian Norris <briannorris@chromium.org> wrote: > 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: Brian Norris <briannorris@chromium.org> Patch applied to wireless-drivers-next.git, thanks. 86fbf2649194 rtw88: use read_poll_timeout_atomic() for poll loop
diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c index 19b9b7ab016b..59028b121b00 100644 --- a/drivers/net/wireless/realtek/rtw88/mac.c +++ b/drivers/net/wireless/realtek/rtw88/mac.c @@ -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) { - u32 cnt; + u32 val; target &= mask; - for (cnt = 0; cnt < RTW_PWR_POLLING_CNT; cnt++) { - if ((rtw_read8(rtwdev, addr) & mask) == target) - return true; - - udelay(50); - } - - return false; + return read_poll_timeout_atomic(rtw_read8, val, (val & mask) == target, + 50, 50 * RTW_PWR_POLLING_CNT, false, + rtwdev, addr) == 0; } static int rtw_pwr_cmd_polling(struct rtw_dev *rtwdev,
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: Brian Norris <briannorris@chromium.org> --- drivers/net/wireless/realtek/rtw88/mac.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-)