sdm: Fix issues related to smart pointer

Change-Id: I91bd086c3cb7e2fcdaf65c4e765886b0b39fcd42
diff --git a/sdm/libs/core/display_base.cpp b/sdm/libs/core/display_base.cpp
index a5ed937..7d41b7d 100644
--- a/sdm/libs/core/display_base.cpp
+++ b/sdm/libs/core/display_base.cpp
@@ -637,7 +637,8 @@
       active_ = active;
       state_ = state;
     }
-    comp_manager_->SetDisplayState(display_comp_ctx_, state, release_fence ? *release_fence : -1);
+    comp_manager_->SetDisplayState(display_comp_ctx_, state,
+                                   release_fence ? *release_fence : nullptr);
 
     // If previously requested power on state is still pending reset it on any new display state
     // request and handle the new request.
diff --git a/sdm/libs/core/drm/hw_peripheral_drm.cpp b/sdm/libs/core/drm/hw_peripheral_drm.cpp
index 6105dcd..d82cd30 100644
--- a/sdm/libs/core/drm/hw_peripheral_drm.cpp
+++ b/sdm/libs/core/drm/hw_peripheral_drm.cpp
@@ -575,7 +575,7 @@
   return kErrorNone;
 }
 
-DisplayError HWPeripheralDRM::Doze(const HWQosData &qos_data, int *release_fence) {
+DisplayError HWPeripheralDRM::Doze(const HWQosData &qos_data, shared_ptr<Fence> *release_fence) {
   DTRACE_SCOPED();
 
   if (!first_cycle_ && switch_mode_valid_ && !doze_poms_switch_done_ &&
@@ -601,7 +601,8 @@
   return kErrorNone;
 }
 
-DisplayError HWPeripheralDRM::DozeSuspend(const HWQosData &qos_data, int *release_fence) {
+DisplayError HWPeripheralDRM::DozeSuspend(const HWQosData &qos_data,
+                                          shared_ptr<Fence> *release_fence) {
   DTRACE_SCOPED();
 
   if (switch_mode_valid_ && !doze_poms_switch_done_ &&
diff --git a/sdm/libs/core/drm/hw_peripheral_drm.h b/sdm/libs/core/drm/hw_peripheral_drm.h
index d3fa454..ab992c0 100644
--- a/sdm/libs/core/drm/hw_peripheral_drm.h
+++ b/sdm/libs/core/drm/hw_peripheral_drm.h
@@ -58,8 +58,8 @@
   virtual DisplayError ControlIdlePowerCollapse(bool enable, bool synchronous);
   virtual DisplayError PowerOn(const HWQosData &qos_data, shared_ptr<Fence> *release_fence);
   virtual DisplayError PowerOff(bool teardown);
-  virtual DisplayError Doze(const HWQosData &qos_data, int *release_fence);
-  virtual DisplayError DozeSuspend(const HWQosData &qos_data, int *release_fence);
+  virtual DisplayError Doze(const HWQosData &qos_data, shared_ptr<Fence> *release_fence);
+  virtual DisplayError DozeSuspend(const HWQosData &qos_data, shared_ptr<Fence> *release_fence);
   virtual DisplayError SetDisplayDppsAdROI(void *payload);
   virtual DisplayError SetDynamicDSIClock(uint64_t bit_clk_rate);
   virtual DisplayError GetDynamicDSIClock(uint64_t *bit_clk_rate);