|
@@ -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;
|