s3c-fb: fix distortedness situation for the mode more then 24bpp
authorInKi Dae <inki.dae@samsung.com>
Wed, 11 Aug 2010 01:02:32 +0000 (18:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Aug 2010 15:59:09 +0000 (08:59 -0700)
It has been working fine at 16bpp but in case of pixel format more then
24bpp it would occur distortedness situation on that mode.  so this patch
set the word swap control bit of WINCONx to 1 as default value.  but it
should be set to 0 in case that each ENLOCAL bit of WINCON0 ~ 2 registers
is enabled.  this issue would be solved with local path feature soon.

Signed-off-by: InKi Dae <inki.dae@samsung.com>
Reviewed-by: KyungMin Park <kyungmin.park.samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm/plat-samsung/include/plat/regs-fb.h
drivers/video/s3c-fb.c

index 0ef806e50344e9d044d6b94fd4c531be86bb065e..41c68ac13a6777df138e97c864c4f2d8984a6a05 100644 (file)
 #define WINCONx_BITSWP                         (1 << 18)
 #define WINCONx_BYTSWP                         (1 << 17)
 #define WINCONx_HAWSWP                         (1 << 16)
+#define WINCONx_WSWP                           (1 << 15)
 #define WINCONx_BURSTLEN_MASK                  (0x3 << 9)
 #define WINCONx_BURSTLEN_SHIFT                 (9)
 #define WINCONx_BURSTLEN_16WORD                        (0x0 << 9)
index c4639c4e62f277580cee7abdc86b64b04777554e..9c46f954c6149419b6da4132ac01b4f98d285145 100644 (file)
@@ -424,6 +424,7 @@ static int s3c_fb_set_par(struct fb_info *info)
                else
                        data |= WINCON0_BPPMODE_24BPP_888;
 
+               data |= WINCONx_WSWP;
                data |= WINCONx_BURSTLEN_16WORD;
                break;
        }