[RFC] dpms handling on atomic drivers

Daniel Vetter daniel at ffwll.ch
Thu Nov 6 15:33:56 PST 2014


On Thu, Nov 6, 2014 at 11:35 PM, Sean Paul <seanpaul at chromium.org> wrote:
>>> Proposal: Only shut down anything (and then the hole output pipe with all
>>> cloned outputs) when all connector's dpms property is set to off. And
>>> enable it again as soon as one property goes to on.
>>
>> Well, it isn't quite the behavior I would expect..  at least not if
>> atomic ioctl has a "preserve properties not explicitly set" mode.  I
>> would expect one of the displays to turn off.  Or at least go black
>> (but preferably off..)
>>
>
> Maybe we could just fail the atomic check in this case?

Oh, I missed this bit a bit. We can't disable the output on the first
dpms off for a connector, since if there's 1 connector left on stuff
like vblank waits or page flips need to keep working. And maybe
there's crazy userspace out there which needs that to not die in a
racecondition. But keeping the screen running for a bit longer will
not be noticeable since all compositors always do dpms on all outputs
anyway. So from a "what does the user see" pov disabling when the
first or last cloned connector get dpms off set doesn't matter, but
from an userspace pov there's a difference.

All this only matters for cloned configs anyway only, which is about
i915 for gen2, roughly. Well Ville implemented cloning for some more
recent stuff too.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list