From ec35e61e834fa1561010b15fafb01edfb36bd3be Mon Sep 17 00:00:00 2001 From: Anand Bodas Date: Tue, 17 Apr 2012 16:50:56 +0530 Subject: [PATCH] GFX-Display: Enable dynamic CABC for TMD BZ: 32194 This patch makes CABC dynamic depending on brightness levels. For higher levels, higher savings are implemented for max savings. For brightness below 50%, CABC is turned off. Change-Id: I40283774a9e90a2dbd3822f14d8a09fe5c8521e2 Signed-off-by: Anand Bodas Signed-off-by: Tong, Bo Reviewed-on: http://android.intel.com:8080/43708 Reviewed-by: Xu, Randy Reviewed-by: buildbot Tested-by: buildbot --- drivers/staging/mrst/drv/tmd_6x10_vid.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/staging/mrst/drv/tmd_6x10_vid.c b/drivers/staging/mrst/drv/tmd_6x10_vid.c index 2bba7a8..56f99a1 100755 --- a/drivers/staging/mrst/drv/tmd_6x10_vid.c +++ b/drivers/staging/mrst/drv/tmd_6x10_vid.c @@ -387,6 +387,24 @@ static int mdfld_dsi_pr2_set_brightness(struct mdfld_dsi_config *dsi_config, /*update duty value*/ pr2_backlight_control_2[0] = (0x0000001b9 | (duty_val << 16)); + if (level < 50) { + pr2_backlight_control_1[0] = 0x0f0f00b8; + } else if (level < 66) { + /* Case 10% */ + pr2_backlight_control_1[0] = 0x070701b8; + pr2_backlight_control_1[1] = 0xe4e4ffff; + } else if (level < 82) { + /* Case 20% */ + pr2_backlight_control_1[0] = 0x0b0b01b8; + pr2_backlight_control_1[1] = 0xd4d4ffff; + } else { + /* Case 30% */ + pr2_backlight_control_1[0] = 0x0f0f01b8; + pr2_backlight_control_1[1] = 0xc8c8ffff; + } + + mdfld_dsi_send_gen_long_hs(sender, pr2_backlight_control_1, 24, 0); + mdfld_dsi_send_gen_long_hs(sender, pr2_backlight_control_2, 8, 0); mdfld_dsi_send_gen_long_hs(sender, pr2_mcs_protect_on, 4, 0); -- 2.7.4