OSDN Git Service

drm_hwcomposer: Process DPMS requests through compositor
authorSean Paul <seanpaul@chromium.org>
Thu, 25 Jun 2015 01:46:05 +0000 (18:46 -0700)
committerSean Paul <seanpaul@chromium.org>
Sat, 11 Jul 2015 02:30:31 +0000 (22:30 -0400)
commite850fa2e39da03695e03c1824a08f8be9b4cfdbf
treef7da7b1002eab74fd0edfcf86ab2f8efb280ca67
parent1d4c54cbc40ac57139d336df4b80561df3238932
drm_hwcomposer: Process DPMS requests through compositor

This patch changes the behavior of DPMS in hwcomposer from
applying asynchronously/immediately, to queuing in the
compositor and being processed in order. This is desirable
for a couple of reasons:
  1- It ensures all frames set before set_power_mode are
     shown on the screen before it turns off
  2- We make sure we don't rmfb a framebuffer that is
     currently applied to a disabled crtc.

The second reason above can cause the display to turn back
off once it's on since the fb will dereference to zero in
the kernel and it will disable the pipe without notifying
us.

Change-Id: I2aab9ee0353b12fecced46766ed2dbb64f0aef4b
Signed-off-by: Sean Paul <seanpaul@chromium.org>
drmcomposition.cpp
drmcomposition.h
drmdisplaycomposition.cpp
drmdisplaycomposition.h
drmdisplaycompositor.cpp
drmdisplaycompositor.h
drmresources.cpp