On 2018-04-20 13:46, Arend van Spriel wrote:
On 4/20/2018 9:21 AM, Sebastian Gottschall wrote:
Yes this is WIFI chip set level power-save(based on idleness) and
not
related to protocol power save. FW will turn off/scale down the
resources(clock/rails) based on opportunity(when ever idle mode is
detected). This power save is mostly done in disconnected state. I
am
not really sure when framework/user-space triggers power-save
config(iw dev <devname> set power_save on/off). Then doing this from
user-space will be unnecessarily toggling this config or may not be
setting at disconnected state.
I think that 'set power_save' commands affects struct
ieee80211_bss_conf::ps parameter and I don't think it should be used
in
this case. We already have ath10k_config_ps() for 802.11 level of
power
saving.
Arend again proposed runtime-pm with which I'm not very familiar. But
why would we want to disable this? Doesn't it make sense to have this
feature always enabled to save power? wcn3990 is a chip for a mobile
device anyway.
it might be made for mobile devices but who knows how it is used by
the
market.
I guess having this enabled by default is safe as
WMI_PDEV_PARAM_UNSUPPORTED
protects for those version which does not support this pdev param.
Reading the explanation above it does not make sense to use
runtime-pm. That would only come into play if the host driver would
actually control the resources being turned off/scaled down.
So this is purely reducing power-consumption of the chip. However, it
would be good to know the consequences in terms of responsiveness to
firmware commands for instance when requesting a scan operation.
Exit latency is around 8-10 ms, so i guess this delta should be ok.
Another thing to consider is to provide user-space with possibility to
change this configuration (maybe through debugfs?).
In case any one wants to measure power no's with/without this config,
just giving
provision to disable may be useful.
BR,
Govind