sdm: Fix Doze/Doze Suspend
Doze should have a synchronous commit. Doze suspend is missing a
CRTC activation and commit. Add support to retain previously staged
planes by client, since it may not be able to program again in some
situations like Doze and Doze-Suspend. Also retain planes on resume
since it can happen after Doze and Doze-Suspend that may have planes
staged.
Change-Id: Ibb65da16e893a9ae33fd30d19308779ee8687258
CRs-fixed: 2106183
diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h
index 1d9d85a..f40f324 100644
--- a/libdrmutils/drm_interface.h
+++ b/libdrmutils/drm_interface.h
@@ -543,9 +543,11 @@
* Commit the params set via Perform(). Also resets the properties after commit. Needs to be
* called every frame.
* [input]: synchronous: Determines if the call should block until a h/w flip
+ * [input]: retain_planes: Retains already staged planes. Useful when not explicitly programming
+ * planes but still need the previously staged ones to not be unstaged
* [return]: Error code if the API fails, 0 on success.
*/
- virtual int Commit(bool synchronous) = 0;
+ virtual int Commit(bool synchronous, bool retain_planes) = 0;
/*
* Validate the params set via Perform().
* [return]: Error code if the API fails, 0 on success.