Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d651f33 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git

parents 49e7dc54 4774e226
Loading
Loading
Loading
Loading
+16 −1
Original line number Original line Diff line number Diff line
@@ -420,7 +420,22 @@ static struct clcd_panel vga = {
 */
 */
static void cp_clcd_enable(struct clcd_fb *fb)
static void cp_clcd_enable(struct clcd_fb *fb)
{
{
	cm_control(CM_CTRL_LCDMUXSEL_MASK, CM_CTRL_LCDMUXSEL_VGA);
	u32 val;

	if (fb->fb.var.bits_per_pixel <= 8)
		val = CM_CTRL_LCDMUXSEL_VGA_8421BPP;
	else if (fb->fb.var.bits_per_pixel <= 16)
		val = CM_CTRL_LCDMUXSEL_VGA_16BPP;
	else
		val = 0; /* no idea for this, don't trust the docs */

	cm_control(CM_CTRL_LCDMUXSEL_MASK|
		   CM_CTRL_LCDEN0|
		   CM_CTRL_LCDEN1|
		   CM_CTRL_STATIC1|
		   CM_CTRL_STATIC2|
		   CM_CTRL_STATIC|
		   CM_CTRL_n24BITEN, val);
}
}


static unsigned long framesize = SZ_1M;
static unsigned long framesize = SZ_1M;
+4 −4
Original line number Original line Diff line number Diff line
@@ -134,16 +134,16 @@ clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var)
		break;
		break;
	case 16:
	case 16:
		var->red.length		= 5;
		var->red.length		= 5;
		var->green.length	= 5;
		var->green.length	= 6;
		var->blue.length	= 5;
		var->blue.length	= 5;
		if (fb->panel->cntl & CNTL_BGR) {
		if (fb->panel->cntl & CNTL_BGR) {
			var->red.offset		= 10;
			var->red.offset		= 11;
			var->green.offset	= 5;
			var->green.offset	= 5;
			var->blue.offset	= 0;
			var->blue.offset	= 0;
		} else {
		} else {
			var->red.offset		= 0;
			var->red.offset		= 0;
			var->green.offset	= 5;
			var->green.offset	= 5;
			var->blue.offset	= 10;
			var->blue.offset	= 11;
		}
		}
		break;
		break;
	case 32:
	case 32:
@@ -256,7 +256,7 @@ clcdfb_setcolreg(unsigned int regno, unsigned int red, unsigned int green,
				  convert_bitfield(green, &fb->fb.var.green) |
				  convert_bitfield(green, &fb->fb.var.green) |
				  convert_bitfield(red, &fb->fb.var.red);
				  convert_bitfield(red, &fb->fb.var.red);


	if (fb->fb.var.bits_per_pixel == 8 && regno < 256) {
	if (fb->fb.fix.visual == FB_VISUAL_PSEUDOCOLOR && regno < 256) {
		int hw_reg = CLCD_PALETTE + ((regno * 2) & ~3);
		int hw_reg = CLCD_PALETTE + ((regno * 2) & ~3);
		u32 val, mask, newval;
		u32 val, mask, newval;


+3 −3
Original line number Original line Diff line number Diff line
@@ -24,9 +24,9 @@ void cm_control(u32, u32);
#define CM_CTRL_LCDBIASDN		(1 << 10)
#define CM_CTRL_LCDBIASDN		(1 << 10)
#define CM_CTRL_LCDMUXSEL_MASK		(7 << 11)
#define CM_CTRL_LCDMUXSEL_MASK		(7 << 11)
#define CM_CTRL_LCDMUXSEL_GENLCD	(1 << 11)
#define CM_CTRL_LCDMUXSEL_GENLCD	(1 << 11)
#define CM_CTRL_LCDMUXSEL_SHARPLCD1	(3 << 11)
#define CM_CTRL_LCDMUXSEL_VGA_16BPP	(2 << 11)
#define CM_CTRL_LCDMUXSEL_SHARPLCD2	(4 << 11)
#define CM_CTRL_LCDMUXSEL_SHARPLCD	(3 << 11)
#define CM_CTRL_LCDMUXSEL_VGA		(7 << 11)
#define CM_CTRL_LCDMUXSEL_VGA_8421BPP	(4 << 11)
#define CM_CTRL_LCDEN0			(1 << 14)
#define CM_CTRL_LCDEN0			(1 << 14)
#define CM_CTRL_LCDEN1			(1 << 15)
#define CM_CTRL_LCDEN1			(1 << 15)
#define CM_CTRL_STATIC1			(1 << 16)
#define CM_CTRL_STATIC1			(1 << 16)