72 lines
2.0 KiB
Diff
72 lines
2.0 KiB
Diff
|
From 9bcac9b9e678f476c83b5679b1215b6bc946130a Mon Sep 17 00:00:00 2001
|
||
|
From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
|
||
|
Date: Mon, 20 Apr 2009 16:26:18 +0200
|
||
|
Subject: [PATCH] DSS2: Disable vertical offset with fieldmode
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=utf-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
When using fieldmode each field is basically a separate picture so the
|
||
|
vertical filter should start at phase 0 for both fields.
|
||
|
|
||
|
Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
|
||
|
---
|
||
|
drivers/video/omap2/dss/dispc.c | 23 +++++++++--------------
|
||
|
1 files changed, 9 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
|
||
|
index 7e551c2..f15614b 100644
|
||
|
--- a/drivers/video/omap2/dss/dispc.c
|
||
|
+++ b/drivers/video/omap2/dss/dispc.c
|
||
|
@@ -1029,12 +1029,12 @@ static void _dispc_set_vid_accu1(enum omap_plane plane, int haccu, int vaccu)
|
||
|
static void _dispc_set_scaling(enum omap_plane plane,
|
||
|
u16 orig_width, u16 orig_height,
|
||
|
u16 out_width, u16 out_height,
|
||
|
- bool ilace, bool five_taps)
|
||
|
+ bool ilace, bool five_taps,
|
||
|
+ bool fieldmode)
|
||
|
{
|
||
|
int fir_hinc;
|
||
|
int fir_vinc;
|
||
|
int hscaleup, vscaleup;
|
||
|
- int fieldmode = 0;
|
||
|
int accu0 = 0;
|
||
|
int accu1 = 0;
|
||
|
u32 l;
|
||
|
@@ -1072,17 +1072,12 @@ static void _dispc_set_scaling(enum omap_plane plane,
|
||
|
|
||
|
dispc_write_reg(dispc_reg_att[plane], l);
|
||
|
|
||
|
- if (ilace) {
|
||
|
- if (fieldmode) {
|
||
|
- accu0 = fir_vinc / 2;
|
||
|
- accu1 = 0;
|
||
|
- } else {
|
||
|
- accu0 = 0;
|
||
|
- accu1 = fir_vinc / 2;
|
||
|
- if (accu1 >= 1024/2) {
|
||
|
- accu0 = 1024/2;
|
||
|
- accu1 -= accu0;
|
||
|
- }
|
||
|
+ if (ilace && !fieldmode) {
|
||
|
+ accu0 = 0;
|
||
|
+ accu1 = fir_vinc / 2;
|
||
|
+ if (accu1 >= 1024/2) {
|
||
|
+ accu0 = 1024/2;
|
||
|
+ accu1 -= accu0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@@ -1582,7 +1577,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
|
||
|
if (plane != OMAP_DSS_GFX) {
|
||
|
_dispc_set_scaling(plane, width, height,
|
||
|
out_width, out_height,
|
||
|
- ilace, five_taps);
|
||
|
+ ilace, five_taps, fieldmode);
|
||
|
_dispc_set_vid_size(plane, out_width, out_height);
|
||
|
_dispc_set_vid_color_conv(plane, cconv);
|
||
|
}
|
||
|
--
|
||
|
1.5.6.5
|
||
|
|