drm_hwcomposer: Send crtc.active and crtc.mode together with the frame
On HiKey/HiKey960 boards, enabling the crtc before the first
composition is set can cause trouble, as part of the display
engine is configured in the atomic plane update method.
So when commit 36a7f28516a4 ("drm_hwcomposer: Rework display
Mode Setting and DPMS handling"), which reworked the dpms and
modeset logic to commit the modeset immediately, landed it
caused bootup regressions on those boards.
Talking with others it seems other drivers likely may have
issues trying to enable the crtc without a plane.
Thus this patch changes the logic to queue modesets so they
are submitted with the initial composition. Similarly it
removes the crtc activation, as the initial composition will
implicitly activate the crtc.
Fixes: 36a7f28516a4 ("drm_hwcomposer: Rework display Mode Setting and DPMS handling")
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
[jstultz: Added commit message, reworked a comment]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Ie4d1f967da052b0b3ef73257c2ca76b30504a6c2
diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h
index 6d2c421..f6333eb 100644
--- a/compositor/DrmDisplayCompositor.h
+++ b/compositor/DrmDisplayCompositor.h
@@ -23,6 +23,7 @@
#include <functional>
#include <memory>
+#include <optional>
#include <sstream>
#include <tuple>