drm_hwcomposer: Remove AtomicCommitArgs::clear_active_composition field

Now we can use empty DrmKmsPlan to achieve the same goal.

+ Remove unused HwcDisplay::ClearDisplay()

Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp
index 5be2941..e588b7f 100644
--- a/compositor/DrmDisplayCompositor.cpp
+++ b/compositor/DrmDisplayCompositor.cpp
@@ -58,11 +58,6 @@
     args.active = true;
   }
 
-  if (args.clear_active_composition && args.composition) {
-    ALOGE("%s: Invalid arguments", __func__);
-    return -EINVAL;
-  }
-
   auto new_frame_state = NewFrameState();
 
   auto *drm = pipe_->device;
@@ -126,12 +121,7 @@
     }
   }
 
-  if (args.clear_active_composition) {
-    new_frame_state.used_framebuffers.clear();
-    new_frame_state.used_planes.clear();
-  }
-
-  if (args.clear_active_composition || args.composition) {
+  if (args.composition) {
     for (auto &plane : unused_planes) {
       if (plane->Get()->AtomicDisablePlane(*pset) != 0) {
         return -EINVAL;
@@ -176,7 +166,8 @@
             pipe_->connector->Get()->GetName().c_str());
       // Disable the hw used by the last active composition. This allows us to
       // signal the release fences from that composition to avoid hanging.
-      AtomicCommitArgs cl_args = {.clear_active_composition = true};
+      AtomicCommitArgs cl_args{};
+      cl_args.composition = std::make_shared<DrmKmsPlan>();
       if (CommitFrame(cl_args)) {
         ALOGE("Failed to clean-up active composition for pipeline %s",
               pipe_->connector->Get()->GetName().c_str());
diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h
index b556268..7e39eef 100644
--- a/compositor/DrmDisplayCompositor.h
+++ b/compositor/DrmDisplayCompositor.h
@@ -39,15 +39,13 @@
   std::optional<DrmMode> display_mode;
   std::optional<bool> active;
   std::shared_ptr<DrmKmsPlan> composition;
-  /* 'clear' should never be used together with 'composition' */
-  bool clear_active_composition = false;
 
   /* out */
   UniqueFd out_fence;
 
   /* helpers */
   auto HasInputs() -> bool {
-    return display_mode || active || composition || clear_active_composition;
+    return display_mode || active || composition;
   }
 };
 
diff --git a/hwc2_device/HwcDisplay.cpp b/hwc2_device/HwcDisplay.cpp
index f778e22..e02019d 100644
--- a/hwc2_device/HwcDisplay.cpp
+++ b/hwc2_device/HwcDisplay.cpp
@@ -120,16 +120,6 @@
   main_lock.lock();
 }
 
-void HwcDisplay::ClearDisplay() {
-  if (IsInHeadlessMode()) {
-    ALOGE("%s: Headless mode, should never reach here: ", __func__);
-    return;
-  }
-
-  AtomicCommitArgs a_args = {.clear_active_composition = true};
-  pipeline_->compositor->ExecuteAtomicCommit(a_args);
-}
-
 HWC2::Error HwcDisplay::Init() {
   int ret = vsync_worker_.Init(pipeline_, [this](int64_t timestamp) {
     const std::lock_guard<std::mutex> lock(hwc2_->GetResMan().GetMainLock());