diff options
Diffstat (limited to 'meta/packages/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch')
-rw-r--r-- | meta/packages/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/meta/packages/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch b/meta/packages/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch deleted file mode 100644 index 76e37817c..000000000 --- a/meta/packages/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch +++ /dev/null @@ -1,170 +0,0 @@ -From 35e88797e93b107ba602dee1e2ac8ea761dccd4b 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:20 +0200 -Subject: [PATCH] DSS2: Swap field 0 and field 1 registers -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: 8bit - -The values for the registers which have alternate values for each field -were reveresed to what the hardware expects. For the hardware field 0 -is the even field or the bottom field, field 1 is the odd field or the -top field. So simply swap the register values. - -Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> ---- - drivers/video/omap2/dss/dispc.c | 66 ++++++++++++++++++++++----------------- - 1 files changed, 37 insertions(+), 29 deletions(-) - -diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c -index 1c036c1..9bab6cf 100644 ---- a/drivers/video/omap2/dss/dispc.c -+++ b/drivers/video/omap2/dss/dispc.c -@@ -1072,12 +1072,16 @@ static void _dispc_set_scaling(enum omap_plane plane, - - dispc_write_reg(dispc_reg_att[plane], l); - -+ /* -+ * field 0 = even field = bottom field -+ * field 1 = odd field = top field -+ */ - if (ilace && !fieldmode) { -- accu0 = 0; -- accu1 = fir_vinc / 2; -- if (accu1 >= 1024/2) { -- accu0 = 1024/2; -- accu1 -= accu0; -+ accu1 = 0; -+ accu0 = fir_vinc / 2; -+ if (accu0 >= 1024/2) { -+ accu1 = 1024/2; -+ accu0 -= accu1; - } - } - -@@ -1266,34 +1270,38 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror, - fbh = width; - } - -+ /* -+ * field 0 = even field = bottom field -+ * field 1 = odd field = top field -+ */ - switch (rotation + mirror * 4) { - case 0: -- *offset0 = 0; -+ *offset1 = 0; - if (fieldmode) -- *offset1 = screen_width * ps; -+ *offset0 = screen_width * ps; - else -- *offset1 = 0; -+ *offset0 = 0; - *row_inc = pixinc(1 + (screen_width - fbw) + - (fieldmode ? screen_width : 0), - ps); - *pix_inc = pixinc(1, ps); - break; - case 1: -- *offset0 = screen_width * (fbh - 1) * ps; -+ *offset1 = screen_width * (fbh - 1) * ps; - if (fieldmode) -- *offset1 = *offset0 + ps; -+ *offset0 = *offset1 + ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(screen_width * (fbh - 1) + 1 + - (fieldmode ? 1 : 0), ps); - *pix_inc = pixinc(-screen_width, ps); - break; - case 2: -- *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps; -+ *offset1 = (screen_width * (fbh - 1) + fbw - 1) * ps; - if (fieldmode) -- *offset1 = *offset0 - screen_width * ps; -+ *offset0 = *offset1 - screen_width * ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(-1 - - (screen_width - fbw) - - (fieldmode ? screen_width : 0), -@@ -1301,11 +1309,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror, - *pix_inc = pixinc(-1, ps); - break; - case 3: -- *offset0 = (fbw - 1) * ps; -+ *offset1 = (fbw - 1) * ps; - if (fieldmode) -- *offset1 = *offset0 - ps; -+ *offset0 = *offset1 - ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(-screen_width * (fbh - 1) - 1 - - (fieldmode ? 1 : 0), ps); - *pix_inc = pixinc(screen_width, ps); -@@ -1313,11 +1321,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror, - - /* mirroring */ - case 0 + 4: -- *offset0 = (fbw - 1) * ps; -+ *offset1 = (fbw - 1) * ps; - if (fieldmode) -- *offset1 = *offset0 + screen_width * ps; -+ *offset0 = *offset1 + screen_width * ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(screen_width * 2 - 1 + - (fieldmode ? screen_width : 0), - ps); -@@ -1325,11 +1333,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror, - break; - - case 1 + 4: -- *offset0 = 0; -+ *offset1 = 0; - if (fieldmode) -- *offset1 = *offset0 + screen_width * ps; -+ *offset0 = *offset1 + screen_width * ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(-screen_width * (fbh - 1) + 1 + - (fieldmode ? 1 : 0), - ps); -@@ -1337,11 +1345,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror, - break; - - case 2 + 4: -- *offset0 = screen_width * (fbh - 1) * ps; -+ *offset1 = screen_width * (fbh - 1) * ps; - if (fieldmode) -- *offset1 = *offset0 + screen_width * ps; -+ *offset0 = *offset1 + screen_width * ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(1 - screen_width * 2 - - (fieldmode ? screen_width : 0), - ps); -@@ -1349,11 +1357,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror, - break; - - case 3 + 4: -- *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps; -+ *offset1 = (screen_width * (fbh - 1) + fbw - 1) * ps; - if (fieldmode) -- *offset1 = *offset0 + screen_width * ps; -+ *offset0 = *offset1 + screen_width * ps; - else -- *offset1 = *offset0; -+ *offset0 = *offset1; - *row_inc = pixinc(screen_width * (fbh - 1) - 1 - - (fieldmode ? 1 : 0), - ps); --- -1.5.6.5 - |