Search Linux Wireless

Re: [RFT 6/6] wlcore: Use generic runtime pm calls for wowlan elp configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 05/29/2018 01:06 PM, Tony Lindgren wrote:
> From: Eyal Reizer <eyalreizer@xxxxxxxxx>
> 
> With runtime PM enabled, we can now use generic calls to
> pm_generic_runtime_suspend and pm_generic_runtime_resume for enabling elp
> during suspend when wowlan is enabled and waking the chip from elp
> on resume.

Sry, but not sure you can :(

These functions are not used by drivers directly because system suspend
are not synchronized with PM runtime, so if you call pm_generic_runtime_suspend()
and, at the same time, there is pm_runtime_get_() in progress --> race ...

The pm_runtime_force_() APIs have to be used, or 
PM runtime drivers functions can be called directly, but only if it possible to be
sure no other PM runtime calls active which is usually true at suspend_noirq stage. 

> 
> Remove the custom API that was used to ensure that the command
> that is used to allow ELP during suspend is completed before the system
> suspend.
> 
> Signed-off-by: Eyal Reizer <eyalr@xxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> ---
>   drivers/net/wireless/ti/wlcore/main.c | 51 +++++++--------------------
>   1 file changed, 13 insertions(+), 38 deletions(-)
> 
> diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
> --- a/drivers/net/wireless/ti/wlcore/main.c
> +++ b/drivers/net/wireless/ti/wlcore/main.c
> @@ -998,24 +998,6 @@ static int wlcore_fw_wakeup(struct wl1271 *wl)
>   	return wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_WAKE_UP);
>   }
>   
> -static int wlcore_fw_sleep(struct wl1271 *wl)

[...]

-- 
regards,
-grygorii



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux