diff --git a/[refs] b/[refs] index 5d117909bf51..fc77bc08927c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dc8498c00f6a41a28f01111a3d2ed9f179356a71 +refs/heads/master: 949470375393e82dc9158d36d675180c8c250388 diff --git a/trunk/drivers/video/s3c-fb.c b/trunk/drivers/video/s3c-fb.c index 9c46f954c614..f9d0170b2413 100644 --- a/trunk/drivers/video/s3c-fb.c +++ b/trunk/drivers/video/s3c-fb.c @@ -845,9 +845,6 @@ static void s3c_fb_clear_win(struct s3c_fb *sfb, int win) void __iomem *regs = sfb->regs; writel(0, regs + WINCON(win)); - writel(0xffffff, regs + WxKEYCONy(win, 0)); - writel(0xffffff, regs + WxKEYCONy(win, 1)); - writel(0, regs + VIDOSD_A(win)); writel(0, regs + VIDOSD_B(win)); writel(0, regs + VIDOSD_C(win)); @@ -920,6 +917,12 @@ static int __devinit s3c_fb_probe(struct platform_device *pdev) for (win = 0; win < S3C_FB_MAX_WIN; win++) s3c_fb_clear_win(sfb, win); + /* initialise colour key controls */ + for (win = 0; win < (S3C_FB_MAX_WIN - 1); win++) { + writel(0xffffff, sfb->regs + WxKEYCONy(win, 0)); + writel(0xffffff, sfb->regs + WxKEYCONy(win, 1)); + } + /* we have the register setup, start allocating framebuffers */ for (win = 0; win < S3C_FB_MAX_WIN; win++) { @@ -1020,6 +1023,11 @@ static int s3c_fb_resume(struct platform_device *pdev) for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) s3c_fb_clear_win(sfb, win_no); + for (win_no = 0; win_no < S3C_FB_MAX_WIN - 1; win_no++) { + writel(0xffffff, sfb->regs + WxKEYCONy(win_no, 1)); + writel(0xffffff, sfb->regs + WxKEYCONy(win_no, 1)); + } + /* restore framebuffers */ for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) { win = sfb->windows[win_no];