From 6265d503687da50baefd1b8364abd7194a5826e8 Mon Sep 17 00:00:00 2001 From: Matt Wagner Date: Wed, 30 May 2012 18:03:39 -0700 Subject: video: tegra: nvsd: Fix Phase In Issue with Aggressiveness Change to correct behavior for changing settings while phase_in_adjustments is set. Manual K values should not be overridden in the case where DIDIM was on and aggressiveness was changed. They should maintain state to avoid flickering. Bug 992995 Change-Id: Ic35c32a0fd5c6caaeee147dff114649ea25770c5 Signed-off-by: Matt Wagner Reviewed-on: http://git-master/r/105523 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jon Mayo --- drivers/video/tegra/dc/nvsd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/video/tegra/dc/nvsd.c b/drivers/video/tegra/dc/nvsd.c index 65d518759243..860dd8dab1fd 100644 --- a/drivers/video/tegra/dc/nvsd.c +++ b/drivers/video/tegra/dc/nvsd.c @@ -378,7 +378,10 @@ void nvsd_init(struct tegra_dc *dc, struct tegra_dc_sd_settings *settings) val = tegra_dc_readl(dc, DC_DISP_SD_CONTROL); if (val & SD_ENABLE_NORMAL) - i = tegra_dc_readl(dc, DC_DISP_SD_HW_K_VALUES); + if (settings->phase_in_adjustments) + i = tegra_dc_readl(dc, DC_DISP_SD_MAN_K_VALUES); + else + i = tegra_dc_readl(dc, DC_DISP_SD_HW_K_VALUES); else i = 0; /* 0 values for RGB = 1.0, i.e. non-affected */ -- cgit v1.2.3