Patch in 2.2.18pre21 breaks fbcon logo

Message ID 20010728180801.A671@gondor.apana.org.au
State New, archived
Headers show
Series
  • Patch in 2.2.18pre21 breaks fbcon logo
Related show

Commit Message

Herbert Xu July 28, 2001, 8:08 a.m. UTC
The following patch that appeared in 2.2.18pre21 breaks the fbcon logo.
Anyone knows what it was for?

Thanks.

Comments

Geert Uytterhoeven July 29, 2001, 9:19 a.m. UTC | #1
On Sat, 28 Jul 2001, it was written:
> The following patch that appeared in 2.2.18pre21 breaks the fbcon logo.
> Anyone knows what it was for?

When switching to a new VC, the palette must be set after the switch to the new
VC. This matters for consoles where the palette handling is different for
different video modes and thus depends on the current VC (different VCs may use
a different video mode).

As an example, imagine switching from an 8-color pseudocolor console to a
15-bit directcolor console.

Iff it introduced a problem, are you sure it wasn't fixed in a later 2.2.x
release? If not, please compare with the corresponding 2.4.x console code.

Hmmm... something jumps into my mind. Probably this change means the 16-color
logo must use the VGA palette now, just like on 2.4.x. Fixes for that are on my
webpage:

    http://home.tvd.be/cr26864/Linux/fbdev/logo.html

Linus applied them in recent 2.4.x.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
James Simmons Aug. 2, 2001, 4:15 p.m. UTC | #2
> The following patch that appeared in 2.2.18pre21 breaks the fbcon logo.
> Anyone knows what it was for?

Because con_switch for fbcon can change the video mode. set_palette often
depends on what the state of the graphics hardware is in. So set_palette
must come after the con_switch. Unfortunely the display logo code depended
on this flaw. It was fixed tho in the 2.4.X tree with new logo code. 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch

Index: console.c
===================================================================
RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source/drivers/char/console.c,v
retrieving revision 1.1.1.6
retrieving revision 1.1.1.7
diff -u -r1.1.1.6 -r1.1.1.7
--- console.c	4 Sep 2000 17:39:17 -0000	1.1.1.6
+++ console.c	18 Nov 2000 00:21:46 -0000	1.1.1.7
@@ -575,10 +575,12 @@ 
 	}
 
 	if (redraw) {
+		int update;
+		
 		set_origin(currcons);
+		update = sw->con_switch(vc_cons[currcons].d);
 		set_palette(currcons);
-		if (sw->con_switch(vc_cons[currcons].d) && vcmode != KD_GRAPHICS)
-			/* Update the screen contents */
+		if (update && vcmode != KD_GRAPHICS)
 			do_update_region(currcons, origin, screenbuf_size/2);
 	}
 	set_cursor(currcons);