diff options
author | Chao Jiang <chaoj@nvidia.com> | 2011-01-14 12:08:34 +0900 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-01-27 17:25:33 -0800 |
commit | 8d51c3e6465896be3d2bc07a7678bf2432671352 (patch) | |
tree | 7e433ffbf78a61506c48163930c161c49bf29a2e | |
parent | b3775dc53d76d672ebe7353d475874adb077143c (diff) |
video: tegra: Support dither settings
Support dither settings in display control structure by writing color
control registers.
Change-Id: I57ceb22a4b96bc507e15ad97893ec19a5be44ec7
Reviewed-on: http://git-master/r/15906
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r-- | arch/arm/mach-tegra/include/mach/dc.h | 7 | ||||
-rw-r--r-- | drivers/video/tegra/dc/dc.c | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/include/mach/dc.h b/arch/arm/mach-tegra/include/mach/dc.h index 31af1776fef9..b4453f4c2ac3 100644 --- a/arch/arm/mach-tegra/include/mach/dc.h +++ b/arch/arm/mach-tegra/include/mach/dc.h @@ -62,6 +62,12 @@ enum { TEGRA_DC_OUT_PIN_POL_HIGH, }; +enum { + TEGRA_DC_DISABLE_DITHER = 1, + TEGRA_DC_ORDERED_DITHER, + TEGRA_DC_ERRDIFF_DITHER, +}; + struct tegra_dc_out { int type; unsigned flags; @@ -76,6 +82,7 @@ struct tegra_dc_out { unsigned order; unsigned align; unsigned depth; + unsigned dither; struct tegra_dc_mode *modes; int n_modes; diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index 78909d9d8571..8cf9726645c9 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -1007,6 +1007,18 @@ static void tegra_dc_set_color_control(struct tegra_dc *dc) break; } + switch (dc->out->dither) { + case TEGRA_DC_DISABLE_DITHER: + color_control |= DITHER_CONTROL_DISABLE; + break; + case TEGRA_DC_ORDERED_DITHER: + color_control |= DITHER_CONTROL_ORDERED; + break; + case TEGRA_DC_ERRDIFF_DITHER: + color_control |= DITHER_CONTROL_ERRDIFF; + break; + } + tegra_dc_writel(dc, color_control, DC_DISP_DISP_COLOR_CONTROL); } |