linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Sven Luther <sven.luther@wanadoo.fr>
Cc: Linux Fbdev development list <linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: radeonfb on pegasos powerpc motherboard and X endianess problem
Date: 05 Jun 2003 13:42:30 +0200	[thread overview]
Message-ID: <1054813350.701.38.camel@gaston> (raw)
In-Reply-To: <20030605081925.GA14714@iliana>

On Thu, 2003-06-05 at 10:19, Sven Luther wrote:

> Err, is that the same devel tree as the one in linuxppc_2_4_devel ?

No, it's linuxppc_2_4_benh bk, though you can use rsync to extract
just radeonfb from rsync.penguinppc.org::benh-devel.

> And no, i cannot really try it out, i need to port the pop+pegasos
> patches first.
> 
> BTW, i have some questions about this :
> 
>   1) i think the hackyiness nature of it was because they simply #if 0
>   ed out code that didn't fit them, so doing proper #if CONFIG_PEGASOS
>   should clean this out, or was there also other kind of hackiness.

Ì don't have it all in mind now, send me your patches when you are
done and I'll tell you more.

>   2) head.S has some code which i guess is for early serial logging or
>   something such. I guess such a thing can never be part of the official
>   tree, right ?

That depends... It can be done cleanly without hacking head.S I beleive,
but I need to look at the code to tell you exactly

>   3) arch/ppc/platforms/chrp_setup.c got patched about io_block_mapping,
>   but this doesn't seem to exist anymore in the current
>   linuxppc_2_4_devel tree. Whatever happened to it, and what replaces it ?

You probably don't need it. Just ioremap what need to be ioremap'ed and
avoid any hard coded virtual addresses and things should be just fine.

> > >   2) when running X with the UseFBDev option the colors are bad, i guess
> > >   it is an endianess problem. (with and without accel)
> > 
> > What radeon card is this ?
> 
> Radeon 9000 non-pro (and thus fanless).
> 
> > >   3) When running X without the UseFBDev option, the colors are good,
> > >   but i get garbage when i return to the console. Not exactly garbage,
> > >   at first it is ok, but when i enter a line or somehow pan the screen,
> > >   the corruption start. Doing a vt switch and back redraws a clean
> > >   screen.
> > 
> > Known problem. This is actually a bit nasty. X doesn't fully restore the
> > engine state (and it's in fact quite difficult to know in which state
> > it should restore it) and there's no hook in the fbdev layer for
> > restoring things like that when switching from KD_GRAPHICS back to
> > KD_TEXT. I'm thinking about adding such a hook in 2.5. Usually, a VT
> > switch will trigger a restore of the engine state, at least it will
> > with my version of the driver.
> 
> Mmm, so is this a problem in the X server or in the fbdev driver ? I
> understand that you will fix this in the fbdev since you have a more
> difficult time doing it in the X driver, but this does mean that the X
> driver will do a partial save/restore, and that fbdev will then do a
> full save/restore ? Seems overkill to me. We can either fix it in the
> fbdev driver (which will know which registers the fbdev needs to backup)
> or in the X driver (which will know about which register x needs to
> backup).

Not exactly. I'm not sure X can restore the engine state exactly
(maybe it can, but imho, it's a bit overkill). I tend to think that
the fbdev shall do it as it's very much easier. On one side, X would
have to backup & restore an insane amount of registers, on the other
side, fbdev can just re-init the engine to the state it wants in a few
dozen lines of code.

So my idea was to fix the fbdev interface so that fbdev's in general
have a hook when a console witch from KD_GRAPHICS to KD_TEXT (that
is basically when fbcon gets back control) so things can be reset
properly.  

> Maybe it would be nice if the fbdev driver could save/restore the fbdev
> used registers, and tell the X driver by a information hook that it did
> do the saving, and then the X driver would not need to save/restore the
> registers when UseFBDev was used.

X already save/restore things related to mode setting. The accel engine
is another problem (and not related to use of UseFBDev or not, the
problem is the same in both cases).

I don't think any of such 'hooks' in the fbdev<->X interface will be
ever accepted by X folks like Marc Aurele ;) (He never allowed fbdev
support to be added to the mach64 driver for example)

> Ah, so it is not true that one chrp, the northbridge did the endianess
> conversion transparently ?

No. There are strict rules on how endianess has to be dealt between 
a BE CPU and the PCI bus, and afaik, all PPCs do it properly.

Ben.


-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.

  reply	other threads:[~2003-06-05 11:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-04 14:54 radeonfb on pegasos powerpc motherboard and X endianess problem Sven Luther
2003-06-04 15:27 ` Michel Dänzer
2003-06-04 15:39   ` Sven Luther
2003-06-05  8:01     ` Benjamin Herrenschmidt
2003-06-05  7:59 ` Benjamin Herrenschmidt
2003-06-05  8:19   ` Sven Luther
2003-06-05 11:42     ` Benjamin Herrenschmidt [this message]
2003-06-05 11:58       ` Sven Luther
2003-06-05 12:27         ` Benjamin Herrenschmidt
2003-06-05 13:12           ` Sven Luther
2003-06-06  6:02             ` Geert Uytterhoeven
2003-06-06  6:30               ` Sven Luther
2003-06-06  6:35                 ` Geert Uytterhoeven
2003-06-06  6:41                   ` Sven Luther
2003-06-10 11:04                     ` Jochen Roth
2003-06-13  9:27                       ` Michel Dänzer
2003-06-13 10:05                         ` Jochen Roth
2003-06-13 16:57                           ` Michel Dänzer
2003-06-06  6:00       ` radeonfb on pegasos powerpc motherboard and " Geert Uytterhoeven
2003-06-06  5:58     ` Geert Uytterhoeven
2003-06-10  9:54   ` Sven Luther
2003-06-10 10:45     ` Sven Luther

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=1054813350.701.38.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=sven.luther@wanadoo.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).