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) {