Search Linux Wireless

RE: [EXTERNAL] [PATCHv2 0/5] Runtime PM support for wlcore

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

 



> 
> * Reizer, Eyal <eyalr@xxxxxx> [180522 13:28]:
> > Actually the below patch removing the call to wlcore_fw_sleep() avoids this
> error.
> > The downside is that the wl8 firmware remains fully active during supend, so
> we
> > Would need to find the root cause why the last call allowing the wilink8
> firmware
> > To go into ELP mode during suspend is only completing on resume and not
> during
> > Suspend enter.
> >
> > diff --git a/drivers/net/wireless/ti/wlcore/main.c
> > b/drivers/net/wireless/ti/wlcore/main.c
> > index 4c297aa..8df1ae6 100644
> > --- a/drivers/net/wireless/ti/wlcore/main.c
> > +++ b/drivers/net/wireless/ti/wlcore/main.c
> > @@ -1789,7 +1789,6 @@ static int wl1271_op_suspend(struct
> ieee80211_hw *hw,
> >                 goto out_sleep;
> >
> >  out_sleep:
> > -       pm_runtime_put_noidle(wl->dev);
> >         mutex_unlock(&wl->mutex);
> >
> >         if (ret < 0) {
> > @@ -1821,15 +1820,7 @@ static int wl1271_op_suspend(struct
> ieee80211_hw *hw,
> >          */
> >         cancel_delayed_work(&wl->tx_watchdog_work);
> >
> > -       /*
> > -        * Use an immediate call for allowing the firmware to go into power
> > -        * save during suspend.
> > -        * Using a workque for this last write was only hapenning on resume
> > -        * leaving the firmware with power save disabled during suspend,
> > -        * while consuming full power during wowlan suspend.
> > -        */
> > -       wlcore_fw_sleep(wl);
> > -
> > +       pm_runtime_put_noidle(wl->dev);
> >         return 0;
> >  }
> 
> OK try replacing the pm_runtime_put_noidle() above with just
> pm_runtime_put_sync(). The reason why I put noidle there was the
> wlcore_fw_sleep() call, with that gone put_sync should do the trick.
> 

I have tried that already. Same problem. The last call to:
ret = wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_SLEEP)

which allows the firmware to get into ELP state during wowlan suspend is 
only completing after system resume for some unknown reason...

Best Regards,
Eyal




[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