From: Juergen B. <jue...@kr...> - 2007-02-22 11:43:56
|
On Thursday 22 February 2007 11:45, Antonino A. Daplas wrote: > > > The global 'logo_shown' is only used at the very start, to display the > > > boot logo if it is equal to LOGO_DRAW. It basically forces the scroll > > > mode to redraw and gives space in the upper part of your screen. After > > > that 'logo_shown' is assigned the index of the foreground console > > > (usually 0) and your scroll settings are now used. > > > > No, 0 is a valid index and always used in console 0. So my scroll > > settings in console 0 are never used. > > No, scroll_redraw is used if logo_shown = LOGO_DRAW. After a switch, it > changes to logo_shown = fg_console = 0, and this time your scroll > settings will be used. So logo_shown will be set always to 0 for console 0, even if the logo is disabled? What do you mean with "switch"? Switch to another console? Or something else? Maybe I missunderstand. In fbcon_scroll() I found: [...] if (logo_shown >= 0) goto redraw_up; [...] But FBCON_LOGO_* are defined to values below 0. And with logo_shown=0 always the mode SCROLL_REDRAW is used. I'm confused. > > > As to why your driver freezes, I don't know. Check if it also crashes > > > with cfbcopyarea first. > > > > I tried it with cfbcopyarea, because my hardware routine isn't finished > > yet. But all I tried, cfbcopyarea will never be called. It always ends up > > in ops->bmove() and crashes... > > ops->bmove is basically a wrapper to copyarea, so it does get used. I > don't know why it would freeze though. Perhaps you can pinpoint where > exactly in bmove it crashes. I will try it. Juergen |