Hi Hans, there is no rush from my end to see this series merge. The current asus-wmi quirk works well for the Ally, all firmwares. New firmware is also supposed to fix powersaving with it. Yes, that quirk is suboptimal as it adds a noticeable delay to suspend and resume and blocks powersaving from working correctly in old firmwares. However, as most Ally users are on custom kernels anyway, and this patch series can be merged quite easily into them, broadly speaking it is a non-issue if the mainline kernel has ideal behavior on the Ally for the next few months. From user feedback, they did not notice changing to this patch anyway, other than the powersaving benefit ("did you change anything? my ally just uses less power now"). Next revision I will cc dri so we get feedback from there too. > >> Thinking some more about this I am having second doubts about > >> moving the LPS0 display power off call to before devices are suspended, > >> doing so would mean that the display might still be on when that call > >> is made and that call could disable power-resources which are necessary > >> for the display causing issues when the display driver's suspend method > >> runs. > > > > Is there any device where that is used for display powersaving? > > The problem is that we cannot rule out that the LPS0 display off > call relies on the displays actually being off. > > I have seen ACPI AML code do all sort of crazy stuff. Indeed, as this series shows (for other reasons). > So IMHO we really need to make sure that all physical displays > are off before we make the LPS0 display off call. In my use-case I'd like to be able to fire the display off notification prior to turning off the screen or turn on the screen after both Display Off and Sleep Entry have fired to be able to show a dim lockscreen if the user briefly interacts with the device. I will be doing this downstream for a limited set of prevalidated devices though. Therefore, before we block this behavior in a non-certain manner (as it will be up to each gpu driver to do it), there needs to be some documentation showing there is an issue, certain manufacturers rely on the behavior, or that Microsoft has guaranteed that this is the case in Windows. Even with any of the former, a blacklist quirk for those manufacturers can be put in place in their GPU driver that blocks the Display Off _DSM from firing and automatically calls the Display On _DSM if the GPU wants to wake up the display. > I have read what you wrote about this also applying to virtual > displays, I guess that means that there should be no rendering done > (so also no GPU non display tasks) when this is called. > > IOW it might be best to tie this to all VGA class PCI devices > being in D3 as Mario suggested. GPU can do stuff while the screen is off: render videos, hold browser videos in main memory, have a game in the background, etc. If by D3 you mean the whole GPU has powered off, this would be a deviation from Windows. Antheas