aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2012-07-16 07:07:45 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-26 07:58:50 -0400
commit2a5561b1f7a2c12db912b0d3c5fc830817d413a9 (patch)
tree70649af5fe184f05b5dff6d65b8b41269f411b74 /drivers/video/omap2
parentf92afae2af702d209ac86bdb7642edb2f10bf8f3 (diff)
OMAPDSS: DISPC: Don't set chroma resampling bit for writeback
The bit YUVCHROMARESAMPLING isn't there for writeback in DISPC_WB_ATTRIBUTES2. It isn't there because we don't upsample chroma like for video pipelines, we downsample chroma in writeback to get YUV422 or NV12 formats from the YUV444 input. Ignore this bit in dispc_ovl_set_scaling_uv() if the plane is OMAP_DSS_WB. Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/dispc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 435e565a7fc5..d46cf29a90aa 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -1468,7 +1468,8 @@ static void dispc_ovl_set_scaling_uv(enum omap_plane plane,
1468 color_mode != OMAP_DSS_COLOR_UYVY && 1468 color_mode != OMAP_DSS_COLOR_UYVY &&
1469 color_mode != OMAP_DSS_COLOR_NV12)) { 1469 color_mode != OMAP_DSS_COLOR_NV12)) {
1470 /* reset chroma resampling for RGB formats */ 1470 /* reset chroma resampling for RGB formats */
1471 REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), 0, 8, 8); 1471 if (plane != OMAP_DSS_WB)
1472 REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), 0, 8, 8);
1472 return; 1473 return;
1473 } 1474 }
1474 1475
@@ -1520,8 +1521,10 @@ static void dispc_ovl_set_scaling_uv(enum omap_plane plane,
1520 out_width, out_height, five_taps, 1521 out_width, out_height, five_taps,
1521 rotation, DISPC_COLOR_COMPONENT_UV); 1522 rotation, DISPC_COLOR_COMPONENT_UV);
1522 1523
1523 REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), 1524 if (plane != OMAP_DSS_WB)
1524 (scale_x || scale_y) ? 1 : 0, 8, 8); 1525 REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane),
1526 (scale_x || scale_y) ? 1 : 0, 8, 8);
1527
1525 /* set H scaling */ 1528 /* set H scaling */
1526 REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), scale_x ? 1 : 0, 5, 5); 1529 REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), scale_x ? 1 : 0, 5, 5);
1527 /* set V scaling */ 1530 /* set V scaling */