Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> wrote: > Idle Mode Power Save (IMPS) is a power saving mechanism which when called > by wcn36xx will cause the radio hardware to enter power collapse. > > This particular call maps nicely to a simple conjunction/disjunction around > IEEE80211_CONF_CHANGE_IDLE and IEEE80211_CONF_IDLE. > > Here we enter idle when we are not associated with an AP. The kernel will > incrementally toggle idle on/off in the process of trying to establish a > connection, thus saving power until we are connected to the AP again, at > which point we give way to BMPS if power_save is on. > > We've validated that with IMPS an apq8039 device which has the wcn36xx > module loaded but, has not authenticated with an AP will get to VMIN on > suspend and will not without IMPS. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > Tested-by: Benjamin Li <benl@xxxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. 0e159d2c0834 wcn36xx: Implement Idle Mode Power Save -- https://patchwork.kernel.org/project/linux-wireless/patch/20210909153320.2624649-1-bryan.odonoghue@xxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches