All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Petr Vandrovec" <VANDROVE@vc.cvut.cz>
To: Sven <luther@dpt-info.u-strasbg.fr>
Cc: linux-fbdev-devel@lists.sourceforge.net
Subject: Re: Re: board with broken vga ...
Date: Mon, 22 Jul 2002 22:18:22 +0200	[thread overview]
Message-ID: <BA75C96412A@vcnet.vc.cvut.cz> (raw)

On 22 Jul 02 at 21:58, Sven wrote:

> I did a bit more looking, and found that :
> 
> Jul 22 21:49:32 iliana kernel: SVEN : c->vc_screenbuf is -1055775808

Having them hexadecimal would be much better... c11223c0... bootmem.
 
> screen buffer is set to that when i overwrite the vgacon save_scree function, and here i save
> it (printed with %ld).
> 
> Jul 22 21:49:32 iliana kernel: SVEN : set_origin : screenbuf is -941350912.

c7e42000... kmalloc

> Jul 22 21:49:32 iliana kernel: SVEN : set_origin : origin is -1072968800.

c00bcba0... inside VGA framebuffer.

> when set_origin is first called (not from do_update_screen) after that, it held this values.
> 
> Clearly the screenbuf is not the same.

Probably resize triggers in. But you are doing something wrong - do
you work with Linus tree or on the top of James work? Inside (and after)
do_update_region you should not have origin pointing to the VGA
framebuffer anymore, it must point to screenbuf area! Or do you
implement some strange set_origin method?
 
> the nredraw_screen is called, which calls again set_origin, and then calls 
> do_update_region as follows :
> 
> Jul 22 21:49:32 iliana kernel: SVEN : do_update_region : + start = -941350912, count = 3700
> 
> here we see that the screenbuf used is the wrongly set one, 
> not the one i copied the stuff to.

Only place which does realloc is vc_resize, and code here should
properly move data. 
 
> Mmm, i suppose that what happens is that the screenbuf is different 
> for fbcon and vgacon or something such, and this seems clearly the reason
> for lot of garbage appearing on my screen, is it not ?

I've got an idea: vc_resize reads data from vc's origin, unconditionally,
without call to save_screen! So if your framebuffer layout is not
compatible with VGA, you are lost. 
fbcon_init -> fbcon_setup -> vc_resize_con -> origin leaved unset...
Adding call to set_origin(currcons) into visual_init, just before
call to sw->con_init() may fix problem. Or maybe it will just make problem
even worse? Who knows?
                                                        Petr
                                                        


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

             reply	other threads:[~2002-07-22 20:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-22 20:18 Petr Vandrovec [this message]
2002-07-22 20:40 ` Re: board with broken vga Sven
  -- strict thread matches above, loose matches on Subject: below --
2002-07-22 21:07 Petr Vandrovec
2002-07-22 21:10 ` Sven
2002-07-23 14:35 ` Sven LUTHER
2002-07-22 20:45 Petr Vandrovec
2002-07-22 21:00 ` Sven
2002-07-22 17:54 Petr Vandrovec
2002-07-22 19:58 ` Sven
2002-07-22 17:35 Petr Vandrovec
2002-07-22 17:46 ` Sven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BA75C96412A@vcnet.vc.cvut.cz \
    --to=vandrove@vc.cvut.cz \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=luther@dpt-info.u-strasbg.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.