OMAPDSS: VENC/DISPC: Delay dividing Y resolution for managers connected to VENC
authorArchit Taneja <archit@ti.com>
Fri, 18 May 2012 09:06:54 +0000 (14:36 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 22 May 2012 08:00:01 +0000 (11:00 +0300)
commit2aefad49d8e3a898cf629d4c5264ffd061113531
tree0fb4f039679cfcb544d795b21eb3c148fe9c1287
parent65e006ff4bb06d42b532f866a846db6e4e637723
OMAPDSS: VENC/DISPC: Delay dividing Y resolution for managers connected to VENC

DSS2 driver uses the timings in manager's private data to check the validity of
overlay and manager infos written by the user. For VENC interface, we divide the
Y resolution by half when writing to the DISPC_DIGIT_SIZE register as the
content is interlaced. However, the height of the manager/display with respect
to the content shown through VENC still remains the same.

The VENC driver divides the y_res parameter in omap_video_timings by half, and
then applies the configuration. This leads to manager's private data storing
the wrong Y resolution. Hence, overlay related checks fail.

Ensure that manager's private data stores the original timings, and the Y
resolution is halved only when we write to the DISPC register. This is a hack,
the proper solution would be to pass some sort of interlace parameter which
makes the call whether we should divide y_res or not.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dispc.c
drivers/video/omap2/dss/venc.c