From 4a042b2f3fb8c11077a404969a878bc09fa4f729 Mon Sep 17 00:00:00 2001 From: houdz1 Date: Tue, 26 May 2020 10:20:31 +0800 Subject: [PATCH] sde: limit the backlight minimum brightness as bl_min_level PROPAGATED_from (CR) High-precision brightness will set the brightness level from bl_min_level to bl_max_level. If we enable 12bit brightness, in fact, the hardware will not tolerate very low brightness, these levels cause the backlight unstable. So we have to define the minimum brightness by 'qcom,mdss-dsi-bl-min-level' that the driver does not set the backlight level below that. Change-Id: Ifa20a92388c6dab20cf5550868f3f3685815936f Reviewed-on: https://gerrit.mot.com/1782945 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Yeqing Wang Reviewed-by: Shanshan Dai Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- msm/sde/sde_connector.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/msm/sde/sde_connector.c b/msm/sde/sde_connector.c index 09b77f4bed32..8b5897ebf4e0 100644 --- a/msm/sde/sde_connector.c +++ b/msm/sde/sde_connector.c @@ -120,6 +120,9 @@ static int sde_backlight_device_update_status(struct backlight_device *bd) if (brightness > c_conn->thermal_max_brightness) brightness = c_conn->thermal_max_brightness; + if(brightness && brightness < display->panel->bl_config.bl_min_level) + brightness = display->panel->bl_config.bl_min_level; + /* map UI brightness into driver backlight level with rounding */ bl_lvl = mult_frac(brightness, display->panel->bl_config.bl_max_level, display->panel->bl_config.brightness_max_level);