linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Michel Dänzer <daenzer@relog.ch>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: mlan@cpu.lu, linuxppc-dev@lists.linuxppc.org, dmj+@andrew.cmu.edu
Subject: Re: Control fb problem on 8500
Date: Tue, 22 Aug 2000 10:33:31 +0200	[thread overview]
Message-ID: <39A23ADB.25E233F@relog.ch> (raw)
In-Reply-To: Pine.LNX.4.10.10008211844210.371-100000@cassiopeia.home


Geert Uytterhoeven wrote:
>
> On Mon, 21 Aug 2000, Michel [iso-8859-1] Dänzer wrote:
> > Geert Uytterhoeven wrote:
> > > On Mon, 21 Aug 2000, Michel [iso-8859-1] Dänzer wrote:
> > > > That's not even needed, the fbdev driver is just broken. Line 430:
> > > >
> > > >       pScrn->displayWidth = pScrn->virtualX; /* FIXME: might be wrong
> > > > */
> > > >
> > > > is indeed wrong. virtualX is obvious, but displayWidth should be the
> > > > memory pitch of a scanline.
> > > >
> > > > Now you just have to find out where to get the correct value for
> > > > displayWidth.
> > >
> > > I suppose
> > >
> > >     if (fix.line_length)
> > >         pScrn->displayWidth = fix.line_length*8/var.bits_per_pixel;
> > >     else
> > >         pScrn->displayWidth = var.xres_virtual;
> > >
> > > should work fine, except on hardware were
> > > fix.line_length*8/var.bits_per_pixel might not be integer (e.g. if
> > > 1280x1024x24 mode requires a line_length of 4096).
> >
> > I've thought of this as well. The problem is that the mode hasn't been
> > initialized when displayWidth is set and used.
>
> So the X server initializes the internal screen structures before it even
> knows that it can use them later?

Yes. This really seems to be a rather serious design flaw - the driver is
assumed to know at any time whether it can cope with what the user wants and
how.

Anyway, what do you think about the patch I posted? Michel, can you please try
it? I don't think having to use ShadowFB with the fbdev driver is too bad
because it should generally enhance performance :) If the patch is okay, I'll
submit it to XFree86.


Michel


--
Earthling Michel Dänzer (MrCooper)  \  CS student and free software enthusiast
Debian GNU/Linux (powerpc,i386) user \   member of XFree86 and the DRI project

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  reply	other threads:[~2000-08-22  8:33 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-08-15 17:45 Control fb problem on 8500 Kevin M. Myer
2000-08-15 18:26 ` Michel D nzer
2000-08-15 19:41 ` Michel Lanners
2000-08-18 21:02 ` Michel Lanners
2000-08-19  6:47   ` Daniel Jacobowitz
2000-08-19  7:18     ` Michel Lanners
2000-08-19 11:59       ` Benjamin Herrenschmidt
2000-08-19 14:15         ` XF4 hangs on 2.4 kernel (was: Re: Control fb problem on 8500) Michel Lanners
2000-08-19 15:16           ` Martin Costabel
2000-08-23 12:18           ` Kostas Gewrgiou
2000-08-19 12:12       ` Control fb problem on 8500 Geert Uytterhoeven
2000-08-21 11:25         ` Michael Schmitz
2000-08-21 13:19           ` Michel Dänzer
2000-08-21 16:44             ` Geert Uytterhoeven
2000-08-21 17:11             ` Michael Schmitz
2000-08-19 13:20       ` Michel Dänzer
2000-08-21  8:57         ` Michel Dänzer
2000-08-21 10:46           ` Geert Uytterhoeven
2000-08-21 13:14             ` Michel Dänzer
2000-08-21 16:45               ` Geert Uytterhoeven
2000-08-22  8:33                 ` Michel Dänzer [this message]
2000-08-22  9:42                   ` Geert Uytterhoeven
2000-08-22 10:14                     ` Michel Dänzer
2000-08-22 21:15                       ` Michel Lanners
2000-08-22 21:55                         ` Michel Dänzer
2000-08-23 11:51                           ` Geert Uytterhoeven
2000-08-22 21:10                   ` Michel Lanners
2000-08-22 22:39                     ` Michel Dänzer
2000-08-23  8:11                       ` Michael Schmitz
2000-08-23  8:21                         ` Michel Dänzer
2000-08-21 11:33           ` Michael Schmitz
2000-08-19 14:40     ` David Riley
     [not found] <200008160459.XAA20764@lists.linuxppc.org>
2000-08-22 10:51 ` William H. Schultz
2000-08-22 11:56   ` Benjamin Herrenschmidt
2000-08-22 16:52   ` Geert Uytterhoeven
2000-08-23 14:03     ` William H. Schultz

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=39A23ADB.25E233F@relog.ch \
    --to=daenzer@relog.ch \
    --cc=daenzerm@student.ethz.ch \
    --cc=dmj+@andrew.cmu.edu \
    --cc=geert@linux-m68k.org \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=mlan@cpu.lu \
    /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).