summaryrefslogtreecommitdiffstats
path: root/drivers/video/s3c-fb.c
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2011-06-09 06:26:45 +0200
committerPaul Mundt <lethal@linux-sh.org>2011-06-09 07:59:56 +0200
commitfab7c5b778b1e0ee89e75679b2d6a1405318bb11 (patch)
tree4157b658ddca44ad21c46c07aee17a4fccd8d3ba /drivers/video/s3c-fb.c
parentvideo: s3c-fb: fix virtual resolution checking (diff)
downloadlinux-fab7c5b778b1e0ee89e75679b2d6a1405318bb11.tar.xz
linux-fab7c5b778b1e0ee89e75679b2d6a1405318bb11.zip
video: s3c-fb: move enabling channel for window
This patch moves enabling channel for window, because there should be enabling channel before enabling window. If the sequence is reversed, it makes the problem in displaying images to lcd panel. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/video/s3c-fb.c')
-rw-r--r--drivers/video/s3c-fb.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index dfc2b64dde25..4aecf213c9be 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -557,6 +557,13 @@ static int s3c_fb_set_par(struct fb_info *info)
vidosd_set_alpha(win, alpha);
vidosd_set_size(win, data);
+ /* Enable DMA channel for this window */
+ if (sfb->variant.has_shadowcon) {
+ data = readl(sfb->regs + SHADOWCON);
+ data |= SHADOWCON_CHx_ENABLE(win_no);
+ writel(data, sfb->regs + SHADOWCON);
+ }
+
data = WINCONx_ENWIN;
/* note, since we have to round up the bits-per-pixel, we end up
@@ -636,13 +643,6 @@ static int s3c_fb_set_par(struct fb_info *info)
writel(data, regs + sfb->variant.wincon + (win_no * 4));
writel(0x0, regs + sfb->variant.winmap + (win_no * 4));
- /* Enable DMA channel for this window */
- if (sfb->variant.has_shadowcon) {
- data = readl(sfb->regs + SHADOWCON);
- data |= SHADOWCON_CHx_ENABLE(win_no);
- writel(data, sfb->regs + SHADOWCON);
- }
-
shadow_protect_win(win, 0);
return 0;