composer: Get vsync period in dummy display

Return previous vsync period in dummy display.

Change-Id: I3adddd21b85e75182606988ddd8168602952d456
diff --git a/composer/hwc_display.h b/composer/hwc_display.h
index 1232f92..751b941 100644
--- a/composer/hwc_display.h
+++ b/composer/hwc_display.h
@@ -417,6 +417,11 @@
       uint64_t *samples[NUM_HISTOGRAM_COLOR_COMPONENTS]);
 
   virtual HWC2::Error GetDisplayVsyncPeriod(VsyncPeriodNanos *vsync_period);
+  virtual HWC2::Error SetDisplayVsyncPeriod(VsyncPeriodNanos vsync_period) {
+    return HWC2::Error::None;
+  }
+
+
   virtual HWC2::Error SetActiveConfigWithConstraints(
       hwc2_config_t config, const VsyncPeriodChangeConstraints *vsync_period_change_constraints,
       VsyncPeriodChangeTimeline *out_timeline);
diff --git a/composer/hwc_display_dummy.cpp b/composer/hwc_display_dummy.cpp
index 37f130d..0413ab7 100644
--- a/composer/hwc_display_dummy.cpp
+++ b/composer/hwc_display_dummy.cpp
@@ -103,6 +103,14 @@
 bool HWCDisplayDummy::VsyncEnablePending() {
   return vsync_enable_;
 }
+HWC2::Error HWCDisplayDummy::GetDisplayVsyncPeriod(VsyncPeriodNanos *vsync_period) {
+  *vsync_period = vsync_period_;
+  return HWC2::Error::None;
+}
+HWC2::Error HWCDisplayDummy::SetDisplayVsyncPeriod(VsyncPeriodNanos vsync_period) {
+  vsync_period_ = vsync_period;
+  return HWC2::Error::None;
+}
 
 HWC2::Error HWCDisplayDummy::SetClientTarget(buffer_handle_t target,
                                              shared_ptr<Fence> acquire_fence,
diff --git a/composer/hwc_display_dummy.h b/composer/hwc_display_dummy.h
index 125d9a8..efd8a4b 100644
--- a/composer/hwc_display_dummy.h
+++ b/composer/hwc_display_dummy.h
@@ -51,12 +51,15 @@
   virtual bool VsyncEnablePending();
   virtual HWC2::Error SetClientTarget(buffer_handle_t target, shared_ptr<Fence> acquire_fence,
                                       int32_t dataspace, hwc_region_t damage);
+  virtual HWC2::Error GetDisplayVsyncPeriod(VsyncPeriodNanos *vsync_period);
+  virtual HWC2::Error SetDisplayVsyncPeriod(VsyncPeriodNanos vsync_period);
  private:
   HWCDisplayDummy(CoreInterface *core_intf, BufferAllocator *buffer_allocator,
                   HWCCallbacks *callbacks, HWCDisplayEventHandler *event_handler,
                   qService::QService *qservice, hwc2_display_t id, int32_t sdm_id);
   DisplayNull display_null_;
   bool vsync_enable_ = false;
+  VsyncPeriodNanos vsync_period_ = 16600000;
 };
 
 }  // namespace sdm
diff --git a/composer/hwc_session_services.cpp b/composer/hwc_session_services.cpp
index 7740055..0c12f80 100644
--- a/composer/hwc_session_services.cpp
+++ b/composer/hwc_session_services.cpp
@@ -723,12 +723,17 @@
   shared_ptr<Fence> acquire_fence = nullptr;
   int32_t dataspace = 0;
   hwc_region_t damage = {};
+  VsyncPeriodNanos vsync_period = 16600000;
   hwc_session_->hwc_display_[disp_id]->GetClientTarget(
                                  target, acquire_fence, dataspace, damage);
   hwc_session_->hwc_display_[dummy_disp_id]->SetClientTarget(
                                        target, acquire_fence, dataspace, damage);
 
 
+
+  hwc_session_->hwc_display_[disp_id]->GetDisplayVsyncPeriod(&vsync_period);
+  hwc_session_->hwc_display_[dummy_disp_id]->SetDisplayVsyncPeriod(vsync_period);
+
   hwc_session_->locker_[dummy_disp_id].Unlock();  // Release the dummy display.
   // Release the display's power-state transition var read lock.
   hwc_session_->power_state_[disp_id].Unlock();