sdm: Add support to parse vbif fudge factor.

Change-Id: I5116f470b69707d0f6683d10bdccff3bf67c44ae
CRs-Fixed: 2431129
diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h
index 62db78e..03c8e0e 100644
--- a/libdrmutils/drm_interface.h
+++ b/libdrmutils/drm_interface.h
@@ -508,8 +508,8 @@
   uint32_t min_prefill_lines = 0;
   int secure_disp_blend_stage = -1;
   bool concurrent_writeback = false;
-  uint32_t num_mnocports;
-  uint32_t mnoc_bus_width;
+  uint32_t num_mnocports = 0;
+  uint32_t mnoc_bus_width = 0;
   bool use_baselayer_for_stage = false;
   uint32_t vig_limit_index = 0;
   uint32_t dma_limit_index = 0;
@@ -517,6 +517,7 @@
   uint32_t rotation_limit_index = 0;
   uint32_t line_width_constraints_count = 0;
   std::vector< std::pair <uint32_t, uint32_t> > line_width_limits;
+  float vbif_cmd_ff = 0.0f;
 };
 
 enum struct DRMPlaneType {
diff --git a/sdm/include/private/hw_info_types.h b/sdm/include/private/hw_info_types.h
index 0aa8cd6..dba1448 100644
--- a/sdm/include/private/hw_info_types.h
+++ b/sdm/include/private/hw_info_types.h
@@ -336,6 +336,7 @@
   uint32_t line_width_constraints_count = 0;
   vector< pair <uint32_t, uint32_t> > line_width_limits;
   vector< pair <uint32_t, uint32_t> > line_width_constraints;
+  float vbif_cmd_ff = 0.0f;
 };
 
 struct HWSplitInfo {
diff --git a/sdm/libs/core/drm/hw_info_drm.cpp b/sdm/libs/core/drm/hw_info_drm.cpp
index 978d3b6..3cbb6de 100644
--- a/sdm/libs/core/drm/hw_info_drm.cpp
+++ b/sdm/libs/core/drm/hw_info_drm.cpp
@@ -350,6 +350,8 @@
     width_constraints.push_back(std::make_pair(kPipeScalingLimit, info.scaling_limit_index));
     width_constraints.push_back(std::make_pair(kPipeRotationLimit, info.rotation_limit_index));
   }
+  // Use fudge factor as 1.5 if not reported
+  hw_resource->vbif_cmd_ff = (info.vbif_cmd_ff > 0.0f) ? info.vbif_cmd_ff : 1.5f;
 }
 
 void HWInfoDRM::GetHWPlanesInfo(HWResourceInfo *hw_resource) {