Merge "hwc: Disable idle invalidation for command mode panels"
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index 5c0ad4d..e97d769 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -123,20 +123,24 @@
sMaxPipesPerMixer = min(val, MAX_PIPES_PER_MIXER);
}
- long idle_timeout = DEFAULT_IDLE_TIME;
- if(property_get("debug.mdpcomp.idletime", property, NULL) > 0) {
- if(atoi(property) != 0)
- idle_timeout = atoi(property);
- }
+ if(ctx->mMDP.panel != MIPI_CMD_PANEL) {
+ // Idle invalidation is not necessary on command mode panels
+ long idle_timeout = DEFAULT_IDLE_TIME;
+ if(property_get("debug.mdpcomp.idletime", property, NULL) > 0) {
+ if(atoi(property) != 0)
+ idle_timeout = atoi(property);
+ }
- //create Idle Invalidator only when not disabled through property
- if(idle_timeout != -1)
- idleInvalidator = IdleInvalidator::getInstance();
+ //create Idle Invalidator only when not disabled through property
+ if(idle_timeout != -1)
+ idleInvalidator = IdleInvalidator::getInstance();
- if(idleInvalidator == NULL) {
- ALOGE("%s: failed to instantiate idleInvalidator object", __FUNCTION__);
- } else {
- idleInvalidator->init(timeout_handler, ctx, idle_timeout);
+ if(idleInvalidator == NULL) {
+ ALOGE("%s: failed to instantiate idleInvalidator object",
+ __FUNCTION__);
+ } else {
+ idleInvalidator->init(timeout_handler, ctx, idle_timeout);
+ }
}
return true;
}