aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-02-22 06:42:59 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-04-03 08:19:01 -0400
commit2c1a3ea0dc48d6b5d580781578a40f9a9e4acef8 (patch)
treed59ba36a5093710f28559312597f4c3631d0b494 /drivers/video
parentb7dec9b66f49304470291a95ea3855c9c9fe193b (diff)
OMAPDSS: DSI: fix DSI channel source initialization
During the initialization of the DSI protocol registers, we always set the sources of all DSI channels to L4. However, we don't update the value in the dsi_data, so we may end up with a different value in the register and in the dsi_data, leading to DSI problems. This patch fixes the issue by initializing also the channel source in the dsi_data. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/dsi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index c9f9d0faf8e3..b0eed4323394 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -2794,6 +2794,7 @@ static int dsi_vc_enable(struct platform_device *dsidev, int channel,
2794 2794
2795static void dsi_vc_initial_config(struct platform_device *dsidev, int channel) 2795static void dsi_vc_initial_config(struct platform_device *dsidev, int channel)
2796{ 2796{
2797 struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev);
2797 u32 r; 2798 u32 r;
2798 2799
2799 DSSDBG("Initial config of virtual channel %d", channel); 2800 DSSDBG("Initial config of virtual channel %d", channel);
@@ -2818,6 +2819,8 @@ static void dsi_vc_initial_config(struct platform_device *dsidev, int channel)
2818 r = FLD_MOD(r, 4, 23, 21); /* DMA_TX_REQ_NB = no dma */ 2819 r = FLD_MOD(r, 4, 23, 21); /* DMA_TX_REQ_NB = no dma */
2819 2820
2820 dsi_write_reg(dsidev, DSI_VC_CTRL(channel), r); 2821 dsi_write_reg(dsidev, DSI_VC_CTRL(channel), r);
2822
2823 dsi->vc[channel].source = DSI_VC_SOURCE_L4;
2821} 2824}
2822 2825
2823static int dsi_vc_config_source(struct platform_device *dsidev, int channel, 2826static int dsi_vc_config_source(struct platform_device *dsidev, int channel,