linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
@ 2018-01-09  1:40 Jia-Ju Bai
  2018-01-09  8:35 ` Greg KH
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Jia-Ju Bai @ 2018-01-09  1:40 UTC (permalink / raw)
  To: Larry.Finger, kvalo, kstewart, johannes.berg, tiwai, gregkh,
	colin.king, andrew.zaborowski
  Cc: linux-kernel, linux-wireless, netdev, b43-dev, Jia-Ju Bai

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 <baijiaju1990@gmail.com>
---
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);
 	b43_radio_mask(dev, R2057_RFPLL_MISC_CAL_RESETN, ~0x78);
 	b43_radio_mask(dev, R2057_XTAL_CONFIG2, ~0x80);
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  1:40 [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post Jia-Ju Bai
@ 2018-01-09  8:35 ` Greg KH
  2018-01-09  8:39   ` Jia-Ju Bai
  2018-01-09 16:49 ` Larry Finger
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2018-01-09  8:35 UTC (permalink / raw)
  To: Jia-Ju Bai
  Cc: Larry.Finger, kvalo, kstewart, johannes.berg, tiwai, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev

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 <baijiaju1990@gmail.com>
> ---
> 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?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  8:35 ` Greg KH
@ 2018-01-09  8:39   ` Jia-Ju Bai
  2018-01-09  9:07     ` Arend van Spriel
  0 siblings, 1 reply; 9+ messages in thread
From: Jia-Ju Bai @ 2018-01-09  8:39 UTC (permalink / raw)
  To: Greg KH
  Cc: Larry.Finger, kvalo, kstewart, johannes.berg, tiwai, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev



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 <baijiaju1990@gmail.com>
>> ---
>> 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:

> I had negative comments on one of those due to the possibility of
> msleep(2) extending as long as 20 msec. Until the author, or someone
> else, can test that this is OK, then the mdelay(2) can only be
> replaced with usleep_range(2000, 3000).

Thanks,
Jia-Ju Bai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  8:39   ` Jia-Ju Bai
@ 2018-01-09  9:07     ` Arend van Spriel
  2018-01-09  9:47       ` Jia-Ju Bai
  0 siblings, 1 reply; 9+ messages in thread
From: Arend van Spriel @ 2018-01-09  9:07 UTC (permalink / raw)
  To: Jia-Ju Bai, Greg KH
  Cc: Larry.Finger, kvalo, kstewart, johannes.berg, tiwai, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev

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 <baijiaju1990@gmail.com>
>>> ---
>>> 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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  9:07     ` Arend van Spriel
@ 2018-01-09  9:47       ` Jia-Ju Bai
  2018-01-09 11:11         ` Arend van Spriel
  0 siblings, 1 reply; 9+ messages in thread
From: Jia-Ju Bai @ 2018-01-09  9:47 UTC (permalink / raw)
  To: Arend van Spriel, Greg KH, Larry.Finger
  Cc: kvalo, kstewart, johannes.berg, tiwai, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev



On 2018/1/9 17:07, Arend van Spriel wrote:
> 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 <baijiaju1990@gmail.com>
>>>> ---
>>>> 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.

Hi Arend,

Thanks for your detailed explanation :)
So I think usleep_range(2000, 3000) is okay.


Thanks,
Jia-Ju Bai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  9:47       ` Jia-Ju Bai
@ 2018-01-09 11:11         ` Arend van Spriel
  0 siblings, 0 replies; 9+ messages in thread
From: Arend van Spriel @ 2018-01-09 11:11 UTC (permalink / raw)
  To: Jia-Ju Bai, Greg KH, Larry.Finger
  Cc: kvalo, kstewart, johannes.berg, tiwai, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev

On 1/9/2018 10:47 AM, Jia-Ju Bai wrote:
>
>
> On 2018/1/9 17:07, Arend van Spriel wrote:
>> 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 <baijiaju1990@gmail.com>
>>>>> ---
>>>>> 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.
>
> Hi Arend,
>
> Thanks for your detailed explanation :)
> So I think usleep_range(2000, 3000) is okay.

Sure.

Regards,
Arend

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  1:40 [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post Jia-Ju Bai
  2018-01-09  8:35 ` Greg KH
@ 2018-01-09 16:49 ` Larry Finger
  2018-01-11 19:54 ` [v2] " Kalle Valo
  2018-01-11 19:54 ` Kalle Valo
  3 siblings, 0 replies; 9+ messages in thread
From: Larry Finger @ 2018-01-09 16:49 UTC (permalink / raw)
  To: Jia-Ju Bai, kvalo, kstewart, johannes.berg, tiwai, gregkh,
	colin.king, andrew.zaborowski
  Cc: linux-kernel, linux-wireless, netdev, b43-dev

On 01/08/2018 07:40 PM, 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 <baijiaju1990@gmail.com>
> ---
> v2:
> * Replace mdelay with usleep_range, instead of msleep in v1.
>    Thank Larry for good advice.
> ---

I agree that a sleep of 2-3 ms should be OK here.

Acked-by: Larry Finger <Larry.Finger@lwfinger.net>

Larry

>   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);
>   	b43_radio_mask(dev, R2057_RFPLL_MISC_CAL_RESETN, ~0x78);
>   	b43_radio_mask(dev, R2057_XTAL_CONFIG2, ~0x80);
>   
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  1:40 [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post Jia-Ju Bai
  2018-01-09  8:35 ` Greg KH
  2018-01-09 16:49 ` Larry Finger
@ 2018-01-11 19:54 ` Kalle Valo
  2018-01-11 19:54 ` Kalle Valo
  3 siblings, 0 replies; 9+ messages in thread
From: Kalle Valo @ 2018-01-11 19:54 UTC (permalink / raw)
  To: Jia-Ju Bai
  Cc: Larry.Finger, kstewart, johannes.berg, tiwai, gregkh, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev,
	Jia-Ju Bai

Jia-Ju Bai <baijiaju1990@gmail.com> 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 <baijiaju1990@gmail.com>
> Acked-by: Larry Finger <Larry.Finger@lwfinger.net>

Patch applied to wireless-drivers-next.git, thanks.

4330b53e9662 b43: Replace mdelay with usleep_range in b43_radio_2057_init_post

-- 
https://patchwork.kernel.org/patch/10150845/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post
  2018-01-09  1:40 [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post Jia-Ju Bai
                   ` (2 preceding siblings ...)
  2018-01-11 19:54 ` [v2] " Kalle Valo
@ 2018-01-11 19:54 ` Kalle Valo
  3 siblings, 0 replies; 9+ messages in thread
From: Kalle Valo @ 2018-01-11 19:54 UTC (permalink / raw)
  To: Jia-Ju Bai
  Cc: Larry.Finger, kstewart, johannes.berg, tiwai, gregkh, colin.king,
	andrew.zaborowski, linux-kernel, linux-wireless, netdev, b43-dev,
	Jia-Ju Bai

Jia-Ju Bai <baijiaju1990@gmail.com> 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 <baijiaju1990@gmail.com>
> Acked-by: Larry Finger <Larry.Finger@lwfinger.net>

Patch applied to wireless-drivers-next.git, thanks.

4330b53e9662 b43: Replace mdelay with usleep_range in b43_radio_2057_init_post

-- 
https://patchwork.kernel.org/patch/10150845/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-01-11 19:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-09  1:40 [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post Jia-Ju Bai
2018-01-09  8:35 ` Greg KH
2018-01-09  8:39   ` Jia-Ju Bai
2018-01-09  9:07     ` Arend van Spriel
2018-01-09  9:47       ` Jia-Ju Bai
2018-01-09 11:11         ` Arend van Spriel
2018-01-09 16:49 ` Larry Finger
2018-01-11 19:54 ` [v2] " Kalle Valo
2018-01-11 19:54 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).