summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChao Jiang <chaoj@nvidia.com>2011-01-28 15:41:32 +0900
committerVarun Colbert <vcolbert@nvidia.com>2011-04-07 17:02:17 -0700
commit4568d00bd2fd07a1202869980479e43cfe6cae82 (patch)
tree2f0eaf215c63ca1451267dfb8921b63650328ec6
parente9b228e7aa05a98624510213a5a89e642ed272f4 (diff)
video: tegra: Limit error-diffusion dithering
Error-diffusion dithering on Tegra would never be enabled in video modes where horizontal width exceeded 640 pixels. For large screen, either 24bit ture color or ordering dither may be used since it does not require a line buffer. Change-Id: If60a64858506ee96d444cb2cb3dcf7a1fbce5b1d Reviewed-on: http://git-master/r/17393 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r--drivers/video/tegra/dc/dc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index 6bdb79bbc79b..30d46d4e94e8 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1102,6 +1102,12 @@ static void tegra_dc_set_color_control(struct tegra_dc *dc)
color_control |= DITHER_CONTROL_ORDERED;
break;
case TEGRA_DC_ERRDIFF_DITHER:
+ /* The line buffer for error-diffusion dither is limited
+ * to 640 pixels per line. This limits the maximum
+ * horizontal active area size to 640 pixels when error
+ * diffusion is enabled.
+ */
+ BUG_ON(dc->mode.h_active > 640);
color_control |= DITHER_CONTROL_ERRDIFF;
break;
}