diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp index 5c0ad4dc..e97d7690 100644 --- a/libhwcomposer/hwc_mdpcomp.cpp +++ b/libhwcomposer/hwc_mdpcomp.cpp @@ -123,20 +123,24 @@ bool MDPComp::init(hwc_context_t *ctx) { 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; }