sde: Perform cwb teardown after each commit

Need to release cwb resources after each commit. This is required to
address usecases like create virtual display after HWC Readback.

CRs-Fixed: 2365066
Change-Id: I426ec99931a2cbfcc877c595d82bca8591281e93
diff --git a/sdm/libs/core/drm/hw_peripheral_drm.cpp b/sdm/libs/core/drm/hw_peripheral_drm.cpp
index 7ad6a71..076cde3 100644
--- a/sdm/libs/core/drm/hw_peripheral_drm.cpp
+++ b/sdm/libs/core/drm/hw_peripheral_drm.cpp
@@ -290,9 +290,6 @@
         drm_atomic_intf_->Perform(DRMOps::CONNECTOR_GET_RETIRE_FENCE,
                                   cwb_config_.token.conn_id, fence);
       }
-    } else {
-      // Tear down the Concurrent Writeback topology.
-      drm_atomic_intf_->Perform(DRMOps::CONNECTOR_SET_CRTC, cwb_config_.token.conn_id, 0);
     }
   }
 }
@@ -364,7 +361,9 @@
 void HWPeripheralDRM::PostCommitConcurrentWriteback(LayerBuffer *output_buffer) {
   bool enabled = hw_resource_.has_concurrent_writeback && output_buffer;
 
-  if (!enabled) {
+  if (enabled) {
+    // Tear down the Concurrent Writeback topology.
+    drm_atomic_intf_->Perform(DRMOps::CONNECTOR_SET_CRTC, cwb_config_.token.conn_id, 0);
     drm_mgr_intf_->UnregisterDisplay(cwb_config_.token);
     cwb_config_.enabled = false;
     registry_.Clear();