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.
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. Another
thing to consider is to provide user-space with possibility to change
this configuration (maybe through debugfs?).
Regards,
Arend