sdm: Set layer frame rate if not specified.

Set current refresh rate to external layers and
max refresh rate to virtual layers.

CRs-Fixed: 1098053, 1081429
Change-Id: Iae9e809d8d17c77d666a9e413a727c5f7f763170
diff --git a/sdm/libs/core/fb/hw_virtual.cpp b/sdm/libs/core/fb/hw_virtual.cpp
index 455d0d2..21017a5 100644
--- a/sdm/libs/core/fb/hw_virtual.cpp
+++ b/sdm/libs/core/fb/hw_virtual.cpp
@@ -51,10 +51,6 @@
 }
 
 DisplayError HWVirtual::GetMixerAttributes(HWMixerAttributes *mixer_attributes) {
-  if (!mixer_attributes) {
-    return kErrorParameters;
-  }
-
   mixer_attributes->width = display_attributes_.x_pixels;
   mixer_attributes->height = display_attributes_.y_pixels;
   mixer_attributes_.split_left = display_attributes_.is_device_split ?
@@ -77,5 +73,14 @@
   return kErrorNone;
 }
 
+DisplayError HWVirtual::GetDisplayAttributes(uint32_t index,
+                                             HWDisplayAttributes *display_attributes) {
+  display_attributes->fps = 60;
+  // TODO(user): Need to update WB fps
+
+  return kErrorNone;
+}
+
+
 }  // namespace sdm
 
diff --git a/sdm/libs/core/fb/hw_virtual.h b/sdm/libs/core/fb/hw_virtual.h
index eb82731..1c204cd 100644
--- a/sdm/libs/core/fb/hw_virtual.h
+++ b/sdm/libs/core/fb/hw_virtual.h
@@ -38,6 +38,8 @@
   }
   virtual DisplayError GetMixerAttributes(HWMixerAttributes *mixer_attributes);
   virtual DisplayError SetDisplayAttributes(const HWDisplayAttributes &display_attributes);
+  virtual DisplayError GetDisplayAttributes(uint32_t index,
+                                            HWDisplayAttributes *display_attributes);
 
  protected:
   virtual DisplayError Init();
diff --git a/sdm/libs/hwc/hwc_display_external.cpp b/sdm/libs/hwc/hwc_display_external.cpp
index 5b277c7..a535819 100644
--- a/sdm/libs/hwc/hwc_display_external.cpp
+++ b/sdm/libs/hwc/hwc_display_external.cpp
@@ -284,6 +284,8 @@
       metadata_refresh_rate_ = current_refresh_rate_;
     }
     layer->frame_rate = current_refresh_rate_;
+  } else if (!layer->frame_rate) {
+    layer->frame_rate = current_refresh_rate_;
   }
 }