sde: Add support resolution change on HDMI and fix comp_manager
- Provide a debug hook to change resolution on HDMI.
- Config(edid) set by user is validated before setting and this
overrides the best mode
- Add max_attempts in strategy interface which will be used for
looping through the strategy selection which removes infinite loop
- Set Max SDE layers on HDMI as 2
- Fix incorrect sde layer index in Dump
Change-Id: I9ae1d0b115a06774470be5c0f9b78c4d930b7065
diff --git a/displayengine/include/private/strategy_interface.h b/displayengine/include/private/strategy_interface.h
old mode 100755
new mode 100644
index b56789e..eac88cc
--- a/displayengine/include/private/strategy_interface.h
+++ b/displayengine/include/private/strategy_interface.h
@@ -30,6 +30,7 @@
#define __STRATEGY_INTERFACE_H__
#include <core/sde_types.h>
+#include <core/display_interface.h>
namespace sde {
@@ -85,12 +86,14 @@
@details This function is used to create StrategyInterface object which resides in the composer
strategy library loaded at runtime.
- @param[out] version \link STRATEGY_VERSION_TAG \endlink
+ @param[in] version \link STRATEGY_VERSION_TAG \endlink
+ @param[in] type \link DisplayType \endlink
@param[out] interface \link StrategyInterface \endlink
@return \link DisplayError \endlink
*/
-typedef DisplayError (*CreateStrategyInterface)(uint16_t version, StrategyInterface **interface);
+typedef DisplayError (*CreateStrategyInterface)(uint16_t version, DisplayType type,
+ StrategyInterface **interface);
/*! @brief Function to destroy composer strategy interface.
@@ -155,10 +158,11 @@
preprocessing for a given layer stack.
@param[in] layers_info \link HWLayersInfo \endlink
+ @param[out] max_attempts Maximum calls to \link GetNextStrategy \endlink
@return \link DisplayError \endlink
*/
- virtual DisplayError Start(HWLayersInfo *hw_layers_info) = 0;
+ virtual DisplayError Start(HWLayersInfo *hw_layers_info, uint32_t *max_attempts) = 0;
/*! @brief Method to get strategy for a layer stack. Caller can loop through this method to try
diff --git a/displayengine/include/utils/debug.h b/displayengine/include/utils/debug.h
index 3462b96..99d3968 100755
--- a/displayengine/include/utils/debug.h
+++ b/displayengine/include/utils/debug.h
@@ -49,6 +49,7 @@
static inline LogHandler* GetLogHandler() { return debug_.log_handler_; }
static inline bool IsVirtualDriver() { return debug_.virtual_driver_; }
static uint32_t GetSimulationFlag();
+ static uint32_t GetHDMIResolution();
private:
Debug();