Re: Question about cfb_copyarea
Juergen Beisert <[email protected]> Thu, 22 Feb 2007 11:19:34 +0100
| Newsgroups | gmane.linux.fbdev.user |
|---|---|
| Organization | Privat |
| Message-ID | <[email protected]> |
On Thursday 22 February 2007 00:43, Antonino A. Daplas wrote: > On Sat, 2007-02-10 at 15:32 +0100, Juergen Beisert wrote: > > Hi Petr, > > > > On Wednesday 31 January 2007 10:12, Petr Vandrovec wrote: > > > Take a look at updatescrollmode() in fbcon.c - you must persuade this > > > function to use SCROLL_*_MOVE, not SCROLL_*_REDRAW. FBINFO_READS_FAST > > > should be sufficient - or you can report fast bitblt + fast panning, or > > > fast bitblt + slow imageblit. If you report no panning + fast bitblt + > > > fast imageblit, redraw is used :-( > > > > I tried around to get fbcon to use SCROLL_MOVE. These are my current > > settings: > > > > info->flags = FBINFO_DEFAULT | > > FBINFO_HWACCEL_COPYAREA | > > FBINFO_HWACCEL_FILLRECT | > > FBINFO_HWACCEL_IMAGEBLIT | > > FBINFO_READS_FAST; > > With this settings updatescrollmode() decides to use SCROLL_MOVE. > > > > Two things are coming up with this scroll mode (all in fbcon_scroll() ): > > > > 1) why is the variable "logo_shown" always set to 0 for console 0? When > > in console 0 it always ends up in "goto redraw_up;" But I have no logo on > > my console? For other consoles than 0 "logo_shown" is -1 > > (=FBCON_LOGO_CANSHOW) > > 2) with the settings above active on another console then 0, the whole > > system freezes immediately in ops->bmove() or ops->clear()???? > > 2a) when I comment out the "logo_shown" check in fbcon_scroll() it also > > freezes the whole system in console 0. > > > > Any ideas? > > 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. > Basically, don't touch the 'logo_shown' variable. If you don't want the > tux logo, then disable it in your kernel config. Its already disabled. I didn't use the logo in my tests. > 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... Juergen ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV