All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: John Zielinski <grim@undead.cc>
Cc: Linux Fbdev development list <linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: fbdev upstream
Date: Thu, 25 Dec 2003 11:57:35 +1100	[thread overview]
Message-ID: <1072313855.15477.26.camel@gaston> (raw)
In-Reply-To: <3FEA3327.6050507@undead.cc>


> That's my ultimate goal.  There's a couple of things I'm working on to 
> make that more robust.   The DDC2/EDID works great, as long as my KVM is 
> selecting that machine while it boots.   There's also three seperate 
> lists of video modes.  Two in the kernel which are the regular and vesa 
> lists and the modedb that fbset uses.  What I want to eventually do is 
> consolidate all that information along with custom timing modes and 
> corrections to the DDC2 info based on monitor model and move that all to 
> userspace.   Then a script called on startup/shutdown/manually can take 
> that database along with the current EDID and archive it into a 
> intiramfs file fragment (you can concatenate a bunch together and the 
> kernel will unpack them all).  When the kernel boots it can access this 
> information and pull in what it needs for the current card & monitor 
> combo.  Then it can delete the file from the initramfs to free memory or 
> we can use my patch that makes initramfs swappable.

Moving that to userland is a 2.7 goal. For 2.6, we should probably
stay around what I'm doing in radeonfb. Also, we want the machine to
have some sort of working console at boot. The VGA console exist
only on some platforms like x86, for example, PPC needs a working mode
at boot time.

Also, some drivers may have different monitor probing mecanism that
DDC2/EDID. For example, old PowerMac drivers can probe the monitor
type using an old Apple sepcific mecanism that leads to a modelist
(macmodes) which is different. We currently don't deal with that
very well though.
 
> Yes.  I'm putting this into fbcon.  I agree that having the common stuff 
> concentrated in one spot is better that having it scattered amongst all 
> the drivers.  Much cleaner and less maintenance problems.

The important point here is that fbdev must remain independant of fbcon,
you can have fbdev without fbcon, all of the console cruft is not
fbdev business.

> >I don't know about that one. It would be interesting to redo some
> >comparison between XFree CVS "nv" driver and rivafb.
> >
> 
> I though I read on the list somewhere that someone already fixed the 
> nvidia hw cursor problem.  I'll have to do a search for it.
> 
> >Something else I noticed: After playing with resize & console switches
> >for a while, I had the kernel oops somewhere with this code path:
> >
> >sys_write -> vfs_write -> pipe_write -> __wake_up -> __wake_up_common
> >then jumping to random place.
> >  
> >
> 
> I noticed some strangeness like that as well depending how it took to do 
> the video mode switch.  The radeonfb driver does a yield call or 
> something (can't remember at the top of my head) and if a timer kicks in 
> it complains about "schedule while atomic".  The resize loop problem 
> also triggered various oops.  A lot of stuff went away with that call to 
> do_blank_screen(1) I put in as it shuts down the cursor timer and puts a 
> few other things on hold.  I think a mechanism that would replace that 
> do_blank_screen(1) functionality between the vt code, fbcon and fbdev 
> layers that can be initiated from any of the three is needed.  That way 
> if any one of the three layers needs to do something it can tell the 
> other two to suspend operations until it's finished.

We need a way to properly suspend cursor & blanking interrupts and synchronize
them (I'd personally move blanking down to task time with schedule work and
just take the console semaphore)

Ben.




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click

  reply	other threads:[~2003-12-25  0:58 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-10  7:03 Changing modes with fbset John Zielinski
2003-12-14  1:14 ` John Zielinski
2003-12-24  8:20   ` fbdev upstream (was: Changing modes with fbset) Benjamin Herrenschmidt
2003-12-24  8:26     ` Carlo E. Prelz
2003-12-24 20:40     ` fbdev upstream John Zielinski
2003-12-24 22:42       ` Benjamin Herrenschmidt
2003-12-25  0:45         ` John Zielinski
2003-12-25  0:57           ` Benjamin Herrenschmidt [this message]
2003-12-25  1:53             ` John Zielinski
2003-12-25 10:46               ` Benjamin Herrenschmidt
2003-12-25 16:53                 ` John Zielinski
2004-01-05 14:41         ` Geert Uytterhoeven
2004-01-06  0:51         ` James Simmons
2004-01-06  1:03           ` Benjamin Herrenschmidt
2004-01-06 10:08             ` Geert Uytterhoeven
2004-01-09 20:05               ` James Simmons
2004-01-06  0:47       ` James Simmons
2004-01-08  2:17         ` John Zielinski
2004-01-08 20:37           ` James Simmons
2004-01-06  0:06   ` Changing modes with fbset James Simmons
2004-01-06  0:28     ` Otto Solares
2004-01-06  0:35       ` Benjamin Herrenschmidt
2004-01-06  1:08         ` Otto Solares
2004-01-06  1:09           ` Benjamin Herrenschmidt
2004-01-06  1:44             ` Otto Solares
2004-01-06  1:44               ` Benjamin Herrenschmidt
2004-01-06  2:06                 ` Otto Solares
     [not found]                   ` <1073354986.761.208.camel@gaston>
2004-01-06  2:24                     ` Otto Solares
2004-01-06 11:38         ` Michel Dänzer
2004-01-06 15:23           ` Geert Uytterhoeven
2004-01-09  0:03       ` James Simmons
2004-01-09  1:31         ` Otto Solares
2004-01-06  0:33     ` Benjamin Herrenschmidt
2004-01-06  0:38       ` James Simmons
2004-01-08  2:06     ` John Zielinski
2004-01-08 20:38       ` James Simmons

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=1072313855.15477.26.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=grim@undead.cc \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    /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.