diff --git a/msm/sde/sde_hw_catalog.c b/msm/sde/sde_hw_catalog.c index b6325c510a1c..b688d58531f7 100644 --- a/msm/sde/sde_hw_catalog.c +++ b/msm/sde/sde_hw_catalog.c @@ -151,9 +151,11 @@ #define SDE_UIDLE_FAL10_DANGER 6 #define SDE_UIDLE_FAL10_TARGET_IDLE 50 #define SDE_UIDLE_FAL1_TARGET_IDLE 10 -#define SDE_UIDLE_FAL10_THRESHOLD 12 +#define SDE_UIDLE_FAL10_THRESHOLD_60 12 +#define SDE_UIDLE_FAL10_THRESHOLD_90 13 #define SDE_UIDLE_MAX_DWNSCALE 1500 -#define SDE_UIDLE_MAX_FPS 60 +#define SDE_UIDLE_MAX_FPS_60 60 +#define SDE_UIDLE_MAX_FPS_90 90 /************************************************************* @@ -4481,13 +4483,20 @@ static void _sde_hw_setup_uidle(struct sde_uidle_cfg *uidle_cfg) uidle_cfg->fal10_danger = SDE_UIDLE_FAL10_DANGER; uidle_cfg->fal10_target_idle_time = SDE_UIDLE_FAL10_TARGET_IDLE; uidle_cfg->fal1_target_idle_time = SDE_UIDLE_FAL1_TARGET_IDLE; - uidle_cfg->fal10_threshold = SDE_UIDLE_FAL10_THRESHOLD; uidle_cfg->max_dwnscale = SDE_UIDLE_MAX_DWNSCALE; - uidle_cfg->max_fps = SDE_UIDLE_MAX_FPS; uidle_cfg->debugfs_ctrl = true; - if (IS_SDE_UIDLE_REV_101(uidle_cfg->uidle_rev)) + + if (IS_SDE_UIDLE_REV_100(uidle_cfg->uidle_rev)) { + uidle_cfg->fal10_threshold = + SDE_UIDLE_FAL10_THRESHOLD_60; + uidle_cfg->max_fps = SDE_UIDLE_MAX_FPS_60; + } else if (IS_SDE_UIDLE_REV_101(uidle_cfg->uidle_rev)) { set_bit(SDE_UIDLE_QACTIVE_OVERRIDE, &uidle_cfg->features); + uidle_cfg->fal10_threshold = + SDE_UIDLE_FAL10_THRESHOLD_90; + uidle_cfg->max_fps = SDE_UIDLE_MAX_FPS_90; + } } else { pr_err("invalid uidle rev:0x%x, disabling uidle\n", uidle_cfg->uidle_rev);