diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-30 18:42:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-30 18:42:33 -0400 |
commit | 1d651f3332340c232ff66b7f5bab66cb8903859f (patch) | |
tree | 99c47c498867ff5ee2fe0845622f4d1c4e1df1f4 | |
parent | 49e7dc54cd4cbdb439ecc4e06214b0ca1a1a72b4 (diff) | |
parent | 4774e2260cf25c54f2188dd0407676e3af6f1f23 (diff) |
Merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git
-rw-r--r-- | arch/arm/mach-integrator/integrator_cp.c | 17 | ||||
-rw-r--r-- | drivers/video/amba-clcd.c | 8 | ||||
-rw-r--r-- | include/asm-arm/arch-integrator/cm.h | 6 |
3 files changed, 23 insertions, 8 deletions
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index 68e15c36e336..3b948e8c2751 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
@@ -420,7 +420,22 @@ static struct clcd_panel vga = { | |||
420 | */ | 420 | */ |
421 | static void cp_clcd_enable(struct clcd_fb *fb) | 421 | static void cp_clcd_enable(struct clcd_fb *fb) |
422 | { | 422 | { |
423 | cm_control(CM_CTRL_LCDMUXSEL_MASK, CM_CTRL_LCDMUXSEL_VGA); | 423 | u32 val; |
424 | |||
425 | if (fb->fb.var.bits_per_pixel <= 8) | ||
426 | val = CM_CTRL_LCDMUXSEL_VGA_8421BPP; | ||
427 | else if (fb->fb.var.bits_per_pixel <= 16) | ||
428 | val = CM_CTRL_LCDMUXSEL_VGA_16BPP; | ||
429 | else | ||
430 | val = 0; /* no idea for this, don't trust the docs */ | ||
431 | |||
432 | cm_control(CM_CTRL_LCDMUXSEL_MASK| | ||
433 | CM_CTRL_LCDEN0| | ||
434 | CM_CTRL_LCDEN1| | ||
435 | CM_CTRL_STATIC1| | ||
436 | CM_CTRL_STATIC2| | ||
437 | CM_CTRL_STATIC| | ||
438 | CM_CTRL_n24BITEN, val); | ||
424 | } | 439 | } |
425 | 440 | ||
426 | static unsigned long framesize = SZ_1M; | 441 | static unsigned long framesize = SZ_1M; |
diff --git a/drivers/video/amba-clcd.c b/drivers/video/amba-clcd.c index 3e386fd4c5c6..321dbe91dc14 100644 --- a/drivers/video/amba-clcd.c +++ b/drivers/video/amba-clcd.c | |||
@@ -134,16 +134,16 @@ clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var) | |||
134 | break; | 134 | break; |
135 | case 16: | 135 | case 16: |
136 | var->red.length = 5; | 136 | var->red.length = 5; |
137 | var->green.length = 5; | 137 | var->green.length = 6; |
138 | var->blue.length = 5; | 138 | var->blue.length = 5; |
139 | if (fb->panel->cntl & CNTL_BGR) { | 139 | if (fb->panel->cntl & CNTL_BGR) { |
140 | var->red.offset = 10; | 140 | var->red.offset = 11; |
141 | var->green.offset = 5; | 141 | var->green.offset = 5; |
142 | var->blue.offset = 0; | 142 | var->blue.offset = 0; |
143 | } else { | 143 | } else { |
144 | var->red.offset = 0; | 144 | var->red.offset = 0; |
145 | var->green.offset = 5; | 145 | var->green.offset = 5; |
146 | var->blue.offset = 10; | 146 | var->blue.offset = 11; |
147 | } | 147 | } |
148 | break; | 148 | break; |
149 | case 32: | 149 | case 32: |
@@ -256,7 +256,7 @@ clcdfb_setcolreg(unsigned int regno, unsigned int red, unsigned int green, | |||
256 | convert_bitfield(green, &fb->fb.var.green) | | 256 | convert_bitfield(green, &fb->fb.var.green) | |
257 | convert_bitfield(red, &fb->fb.var.red); | 257 | convert_bitfield(red, &fb->fb.var.red); |
258 | 258 | ||
259 | if (fb->fb.var.bits_per_pixel == 8 && regno < 256) { | 259 | if (fb->fb.fix.visual == FB_VISUAL_PSEUDOCOLOR && regno < 256) { |
260 | int hw_reg = CLCD_PALETTE + ((regno * 2) & ~3); | 260 | int hw_reg = CLCD_PALETTE + ((regno * 2) & ~3); |
261 | u32 val, mask, newval; | 261 | u32 val, mask, newval; |
262 | 262 | ||
diff --git a/include/asm-arm/arch-integrator/cm.h b/include/asm-arm/arch-integrator/cm.h index d31c1a71f781..1ab353e23595 100644 --- a/include/asm-arm/arch-integrator/cm.h +++ b/include/asm-arm/arch-integrator/cm.h | |||
@@ -24,9 +24,9 @@ void cm_control(u32, u32); | |||
24 | #define CM_CTRL_LCDBIASDN (1 << 10) | 24 | #define CM_CTRL_LCDBIASDN (1 << 10) |
25 | #define CM_CTRL_LCDMUXSEL_MASK (7 << 11) | 25 | #define CM_CTRL_LCDMUXSEL_MASK (7 << 11) |
26 | #define CM_CTRL_LCDMUXSEL_GENLCD (1 << 11) | 26 | #define CM_CTRL_LCDMUXSEL_GENLCD (1 << 11) |
27 | #define CM_CTRL_LCDMUXSEL_SHARPLCD1 (3 << 11) | 27 | #define CM_CTRL_LCDMUXSEL_VGA_16BPP (2 << 11) |
28 | #define CM_CTRL_LCDMUXSEL_SHARPLCD2 (4 << 11) | 28 | #define CM_CTRL_LCDMUXSEL_SHARPLCD (3 << 11) |
29 | #define CM_CTRL_LCDMUXSEL_VGA (7 << 11) | 29 | #define CM_CTRL_LCDMUXSEL_VGA_8421BPP (4 << 11) |
30 | #define CM_CTRL_LCDEN0 (1 << 14) | 30 | #define CM_CTRL_LCDEN0 (1 << 14) |
31 | #define CM_CTRL_LCDEN1 (1 << 15) | 31 | #define CM_CTRL_LCDEN1 (1 << 15) |
32 | #define CM_CTRL_STATIC1 (1 << 16) | 32 | #define CM_CTRL_STATIC1 (1 << 16) |