summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Perez de Heredia <pedro.perez@digi.com>2012-01-21 14:13:19 +0100
committerPedro Perez de Heredia <pedro.perez@digi.com>2012-01-21 14:19:38 +0100
commit417246efde32b7907c15752f0cff47d2f8512204 (patch)
tree84891481bc9834f871b5cb9df93f21ce5255ff48
parentc9b279073535e8766830d50151906ebf9f734992 (diff)
mxc ldb: fix problem with dual modes
This commit fixes a problem with the dual mode that was happening in following scenario: video=displayfb:disabled video2=displayfb:LCD@LQ121K1LG11 ldb=dual,di=1,ch1_map=JEIDA Here the image on the LVDS channel 1 was not correctly represented because in this configuration, the data mapping is taken from the CH0, instead of the CH1 as should be. To workarround this problem, when the mode selected is dual or split, we configure both channels with the data mapping passed through the command line. Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com> (cherry picked from commit db349fbadeff2c94856f2a161e386b1a0f09475e) Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
-rw-r--r--drivers/video/mxc/ldb.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/mxc/ldb.c b/drivers/video/mxc/ldb.c
index d519a275c0cf..37c08bd5e26b 100644
--- a/drivers/video/mxc/ldb.c
+++ b/drivers/video/mxc/ldb.c
@@ -1608,11 +1608,20 @@ static int __init ldb_setup(char *options)
g_chan_bit_map[0] = LDB_BIT_MAP_SPWG;
else
g_chan_bit_map[0] = LDB_BIT_MAP_JEIDA;
+
+ if (g_chan_mode_opt == LDB_DUL_DI0 ||
+ g_chan_mode_opt == LDB_SPL_DI0)
+ g_chan_bit_map[1] = g_chan_bit_map[0];
+
} else if (!strncmp(options, "ch1_map=", 8)) {
if (!strncmp(options + 8, "SPWG", 4))
g_chan_bit_map[1] = LDB_BIT_MAP_SPWG;
else
g_chan_bit_map[1] = LDB_BIT_MAP_JEIDA;
+
+ if (g_chan_mode_opt == LDB_DUL_DI1 ||
+ g_chan_mode_opt == LDB_SPL_DI1)
+ g_chan_bit_map[0] = g_chan_bit_map[1];
}
}