Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751869AbeAIJHf (ORCPT + 1 other); Tue, 9 Jan 2018 04:07:35 -0500 Received: from mail-qt0-f196.google.com ([209.85.216.196]:35475 "EHLO mail-qt0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751098AbeAIJH0 (ORCPT ); Tue, 9 Jan 2018 04:07:26 -0500 X-Google-Smtp-Source: ACJfBosev2sl3u8R0mAreHvyKzU7yeq7YRlPkk/EOU884Bi2cHUObgZ1uqdxyrPbUINzBO7Hj9hJng== Subject: Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post To: Jia-Ju Bai , Greg KH References: <1515462006-6144-1-git-send-email-baijiaju1990@gmail.com> <20180109083541.GA13460@kroah.com> <4201e8cd-81ba-ab7d-2a0d-af957c5dfed6@gmail.com> Cc: Larry.Finger@lwfinger.net, kvalo@codeaurora.org, kstewart@linuxfoundation.org, johannes.berg@intel.com, tiwai@suse.de, colin.king@canonical.com, andrew.zaborowski@intel.com, linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, b43-dev@lists.infradead.org From: Arend van Spriel Message-ID: <5A54864A.8020006@broadcom.com> Date: Tue, 9 Jan 2018 10:07:22 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <4201e8cd-81ba-ab7d-2a0d-af957c5dfed6@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 1/9/2018 9:39 AM, Jia-Ju Bai wrote: > > > On 2018/1/9 16:35, Greg KH wrote: >> On Tue, Jan 09, 2018 at 09:40:06AM +0800, Jia-Ju Bai wrote: >>> b43_radio_2057_init_post is not called in an interrupt handler >>> nor holding a spinlock. >>> The function mdelay in it can be replaced with usleep_range, >>> to reduce busy wait. >>> >>> Signed-off-by: Jia-Ju Bai >>> --- >>> v2: >>> * Replace mdelay with usleep_range, instead of msleep in v1. >>> Thank Larry for good advice. >>> --- >>> drivers/net/wireless/broadcom/b43/phy_n.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/wireless/broadcom/b43/phy_n.c >>> b/drivers/net/wireless/broadcom/b43/phy_n.c >>> index a5557d7..f2a2f41 100644 >>> --- a/drivers/net/wireless/broadcom/b43/phy_n.c >>> +++ b/drivers/net/wireless/broadcom/b43/phy_n.c >>> @@ -1031,7 +1031,7 @@ static void b43_radio_2057_init_post(struct >>> b43_wldev *dev) >>> b43_radio_set(dev, R2057_RFPLL_MISC_CAL_RESETN, 0x78); >>> b43_radio_set(dev, R2057_XTAL_CONFIG2, 0x80); >>> - mdelay(2); >>> + usleep_range(2000, 3000); >> Where did 3000 come from? Are you sure about that? > > I am not very sure, and I use it according to Larry's message: Hi Jia-Ju Bai, The duration here is for settling the registers so hardware can pick it up. Right after this they are written again. Now this is during initialization of the radio so not time critical, but probably anything in the range of 2000..3000 would also have been fine. Regards, Arend