From: "Tony" <adaplas@hotpop.com>
To: kronos@kronoz.cjb.net, Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jon Smirl <jonsmirl@yahoo.com>,
Linux Fbdev development list
<linux-fbdev-devel@lists.sourceforge.net>
Subject: RE: Re: New radeonfb, mostly untested
Date: Mon, 15 Sep 2003 07:59:37 +0800 [thread overview]
Message-ID: <000301c37b1c$40b7e480$ba17b1cb@bom> (raw)
In-Reply-To: <20030910212700.GA12271@dreamland.darkstar.lan>
> Il Wed, Sep 10, 2003 at 07:50:10PM +0200, Benjamin
> Herrenschmidt ha scritto:
> > Anyway, if your EDID returns incorrect infos, then we are
> screwed, or
> > maybe we aren't calculating the horizontal margin properly
> when building
> > the mode.
>
> This is the modedb created from my edid:
> [cut]
> mode 18
> mode->xres = 1280, mode->right_margin = 79
> mode->hsync_len = 137, mode->left_margin = 217
> mode->vres = 1024, mode->lower_margin = 1
> mode->vsync_len = 3, mode->upper_margin = 32
> mode->refresh = 60
> mode 19
> mode->xres = 1280, mode->right_margin = 48
> mode->hsync_len = 112, mode->left_margin = 248
> mode->vres = 1024, mode->lower_margin = 1
> mode->vsync_len = 3, mode->upper_margin = 38
> mode->refresh = 60
>
> mode 19 comes from get_detailed_timing, while 18 comes from
> get_std_timing and timings are calculated by
> calc_mode_timings (which in
> turn calls fb_get_mode). Any chance that there is some error in
> fb_get_mode?
fb_get_mode() uses GTF calculations to estimate the timings. It will
surely be different from VESA standard timings and manufacturer's
timings (detailed). Most, if not all, modern CRT , monitors should be
able to handle GTF calculated timings -- at least it will display, but
the frame may be wide/narrow, tall/short, or shifted left/right/up/down.
This is when you need to use fbset to fine tune the timings. However
GTF calculations should be treated as last resort (manufacturer's
detailed timings, VESA discrete timings, GTF -- decreasing priority).
One thing I forgot to comment in fbmon.c is that the GTF horizontal
timing results are not rounded off. It may be necessary to round it off
to the nearest character clock (usually 8 pixels) such as by doing a
left_margin = (left_margin + 4) & ~7 .
I agree with Ben that modedb should have extra flags to determine which
of the modes came from where. One can then check an extra flag in EDID
(First detailed timing is preferred) to find what is the best mode for
the display. (The print out of show_edid() should tell you this
information).
I was also planning to extend info->monspecs to include most of the
information from EDID, but I still have no time.
Regarding your problem about re-centering the screen, why not check the
modeline used by XFree86 and by radeonfb? In order to prevent
re-centering when switching to/from X, the timings should be the same
and if not, either create a custom Xfree86 modeline from fb or a custom
timing in /etc/fb.modes taken from your current Xfree86 timings.
BTW, i810fb largely uses timings generated from fb_get_modes() and I
haven't heard anyone report a display problem yet. The EDID parser
though is largely untested, and I've already seen a few bugs.
Tony
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
next prev parent reply other threads:[~2003-09-14 23:49 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-07 16:37 New radeonfb, mostly untested Benjamin Herrenschmidt
2003-09-07 17:48 ` Kronos
2003-09-07 18:23 ` Benjamin Herrenschmidt
2003-09-07 18:43 ` Kronos
2003-09-07 18:49 ` Benjamin Herrenschmidt
2003-09-09 17:18 ` James Simmons
2003-09-09 17:54 ` Kronos
2003-09-09 18:13 ` Benjamin Herrenschmidt
2003-09-09 19:24 ` Kronos
2003-09-09 19:37 ` Benjamin Herrenschmidt
2003-09-09 20:45 ` Kronos
2003-09-09 21:07 ` Benjamin Herrenschmidt
2003-09-09 21:52 ` Kronos
2003-09-09 22:08 ` Kronos
2003-09-12 17:44 ` James Simmons
2003-09-12 17:48 ` James Simmons
2003-09-12 22:47 ` Kronos
2003-09-09 20:59 ` Geert Uytterhoeven
2003-09-12 17:46 ` James Simmons
2003-09-07 23:03 ` Kronos
2003-09-08 6:06 ` Benjamin Herrenschmidt
2003-09-08 19:05 ` Kronos
2003-09-10 16:41 ` Kronos
2003-09-10 16:48 ` Benjamin Herrenschmidt
2003-09-10 17:46 ` Kronos
2003-09-10 17:50 ` Benjamin Herrenschmidt
2003-09-10 18:41 ` Kronos
2003-09-10 21:27 ` Kronos
2003-09-10 21:32 ` Benjamin Herrenschmidt
2003-09-12 17:43 ` James Simmons
2003-09-12 19:36 ` Kronos
2003-09-12 22:20 ` James Simmons
2003-09-12 22:45 ` Kronos
2003-09-14 17:31 ` Kronos
2003-09-14 17:46 ` Benjamin Herrenschmidt
2003-09-14 18:59 ` Kronos
2003-09-15 0:56 ` Tony
2003-09-15 16:00 ` Kronos
2003-09-14 23:59 ` Tony [this message]
2003-09-15 15:55 ` Kronos
2003-09-11 6:03 ` Geert Uytterhoeven
2003-09-11 6:38 ` Benjamin Herrenschmidt
2003-09-11 6:55 ` Geert Uytterhoeven
2003-09-11 7:05 ` Benjamin Herrenschmidt
2003-09-12 17:25 ` 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='000301c37b1c$40b7e480$ba17b1cb@bom' \
--to=adaplas@hotpop.com \
--cc=benh@kernel.crashing.org \
--cc=jonsmirl@yahoo.com \
--cc=kronos@kronoz.cjb.net \
--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 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).