All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Winischhofer <thomas@winischhofer.net>
To: Antonino Daplas <adaplas@pol.net>
Cc: James Simmons <jsimmons@infradead.org>,
	Linux Fbdev development list
	<linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: Some questions
Date: Thu, 06 Mar 2003 10:43:36 +0100	[thread overview]
Message-ID: <3E671848.5020506@winischhofer.net> (raw)
In-Reply-To: 1046942633.1330.54.camel@localhost.localdomain

Antonino Daplas wrote:
> On Thu, 2003-03-06 at 16:49, Thomas Winischhofer wrote:
>>>However, the brokenness is really on the driver side.  They are unable
>>>to change the video mode unless they are supplied with the correct
>>>timing parameters where in fact they actually have the best knowledge on
>>>how to calculate them.  
>>
>>Yes, BUT ONLY IF the driver has enough parameters to calculate it. This 
>>requires at least x and y dimension AND A CLOCK (or a vertical refresh 
>>rate, which I would prefer).
> 
> The VESA GTF can calculate timings using only xres, yres and any of the
> three...
> 
> 1. desired pixelclock
> 2. desired refresh
> 3. desired hsync
> 
> ... all of which can be chosen by the driver, or extracted from the monitor
> (ie. DDC or uploaded by the user).

See? Need a clock! My word! :)

> Mode checking is not simply looking at xres and yres, but also looking
> at htotal, and vtotal to derive hsync, vsync and pixelclock.  These are
> then compared to the monitor/graphics card's capability.  If any of the
> values fall outside the limits then the mode is not valid.  Otherwise,
> the new mode should still produce a usable display, perhaps not the one
> the user wants (ie refresh rate is lower).  By this time though, the
> user can freely use fbset to fine tune all the timings.

Perhaps I have not made myself clear:

I start with a default 800x600-60. Pixelclock in var is now X.

fbcon_resize adapts the xres and yres, leaving the pixelclock alone.

The driver sees upon the check_var call: xres, yres and X - the old 
pixelclock (which is non-zero).

That pixelclock *COULD* be valid, but it COULD also be invalid! There is 
no way of distinguishing!

>>What about the following solution: What if fbcon_resize sets the clock 
>>in the var to 0? We could use this to force low level drivers to decide 
>>on the clock for themselves. Otherwise, ie if the clock field is 
>>non-zero, they are supposed to take it as the desired clock.
> 
> Yes, that's another solution.  Just invalidate the timings and force the
> driver to compute a modeline each time.

I think Geert came up with a better solution in the meantime.

But a general rule should be anyway: Whenever passing a var to the 
driver which only changed in a few fields and through this invalidated 
the timing settings, the caller should set everthing else to ZERO, in 
other words: invalidate it in a recognizable way. That's IMHO the only 
way the driver can distinguish between intended and unintended settings.

Thomas

-- 
Thomas Winischhofer
Vienna/Austria
mailto:thomas@winischhofer.net            http://www.winischhofer.net/





-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com

  reply	other threads:[~2003-03-06  9:46 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-05 12:18 Some questions Thomas Winischhofer
2003-03-05 13:26 ` Antonino Daplas
2003-03-05 14:06   ` Thomas Winischhofer
2003-03-05 15:25     ` Antonino Daplas
2003-03-05 15:37       ` Thomas Winischhofer
2003-03-05 15:44         ` Geert Uytterhoeven
2003-03-05 15:59           ` Thomas Winischhofer
2003-03-05 16:06             ` Geert Uytterhoeven
2003-03-05 16:34             ` Antonino Daplas
2003-03-05 16:06         ` Antonino Daplas
2003-03-05 16:17           ` Thomas Winischhofer
2003-03-05 16:44             ` Antonino Daplas
2003-03-05 17:01               ` Geert Uytterhoeven
2003-03-05 19:25                 ` James Simmons
2003-03-05 19:27               ` James Simmons
2003-03-05 15:40       ` Geert Uytterhoeven
2003-03-05 15:54         ` Antonino Daplas
2003-03-05 19:31         ` James Simmons
2003-03-05 15:48       ` Antonino Daplas
2003-03-05 19:43         ` James Simmons
2003-03-05 22:21           ` Thomas Winischhofer
2003-03-06  0:18             ` James Simmons
2003-03-06  9:03               ` Thomas Winischhofer
2003-03-06  1:18             ` Antonino Daplas
2003-03-06  1:18           ` Antonino Daplas
2003-03-06  8:49             ` Thomas Winischhofer
2003-03-06  9:12               ` Geert Uytterhoeven
2003-03-06  9:58                 ` Antonino Daplas
2003-03-06 10:14                   ` Geert Uytterhoeven
2003-03-06 10:30                     ` Antonino Daplas
2003-03-06  9:26               ` Antonino Daplas
2003-03-06  9:43                 ` Thomas Winischhofer [this message]
2003-03-06 10:05                   ` Antonino Daplas
2003-03-06 10:31                     ` Sven Luther
2003-03-06 10:48                       ` Antonino Daplas
2003-03-06 10:51                         ` Antonino Daplas
2003-03-06 11:40                           ` Sven Luther
2003-03-06 13:25                             ` Antonino Daplas
2003-03-06 15:25                             ` James Simmons
2003-03-06 15:27                       ` James Simmons
2003-03-07 12:08                         ` Thomas Winischhofer
2003-03-07 12:21                           ` Geert Uytterhoeven
2003-03-07 18:19                             ` James Simmons
2003-03-07 14:01                           ` Antonino Daplas
2003-03-07 15:19                             ` Thomas Winischhofer
2003-03-07 16:19                               ` Antonino Daplas
2003-03-07 17:00                                 ` Thomas Winischhofer
2003-03-07 17:42                                   ` Antonino Daplas
2003-03-07 18:31                               ` James Simmons
2003-03-07 17:49                                 ` Thomas Winischhofer
2003-03-11 16:23                                   ` James Simmons
2003-03-07 20:12                               ` Antonino Daplas
2003-03-07 20:51                                 ` Thomas Winischhofer
2003-03-08  0:58                                   ` Antonino Daplas
2003-03-08  5:40                                     ` Antonino Daplas
2003-03-08 14:11                                       ` Thomas Winischhofer
2003-03-08 14:20                                       ` Thomas Winischhofer
2003-03-08 22:03                                         ` Antonino Daplas
2003-03-09  3:47                                           ` Thomas Winischhofer
2003-03-09  6:18                                             ` Antonino Daplas
2003-03-07 18:30                             ` James Simmons
2003-03-11 16:07             ` James Simmons
2003-03-11 21:03               ` Thomas Winischhofer
2003-03-05 19:16       ` James Simmons
2003-03-05 19:30         ` Geert Uytterhoeven
2003-03-05 19:34           ` James Simmons
2003-03-05 22:13             ` Thomas Winischhofer
2003-03-05 23:53               ` James Simmons
2003-03-06  8:33             ` Geert Uytterhoeven
2003-03-06  9:00               ` Sven Luther
2003-03-06  9:03               ` Antonino Daplas
2003-03-11 16:29                 ` James Simmons
2003-03-11 20:07                   ` Antonino Daplas
2003-03-11 20:56                     ` Thomas Winischhofer
2003-03-11 21:45                       ` Antonino Daplas
2003-03-11 22:23                         ` Thomas Winischhofer
2003-03-11 22:51                           ` Antonino Daplas
2003-03-12  0:07                             ` Michel Dänzer
2003-03-12  1:02                               ` Antonino Daplas
2003-03-12  1:29                                 ` Michel Dänzer
2003-03-12  8:24                                   ` Geert Uytterhoeven
2003-03-12 15:56                                     ` Michel Dänzer
2003-03-11 22:27                         ` Thomas Winischhofer
2003-03-11 22:51                           ` Antonino Daplas
2003-03-11 23:12                             ` Thomas Winischhofer
2003-03-05 14:12   ` Geert Uytterhoeven
2003-03-05 14:18     ` Thomas Winischhofer
2003-03-05 14:16   ` Thomas Winischhofer
2003-03-05 15:25     ` Antonino Daplas
2003-03-05 14:22   ` Thomas Winischhofer
2003-03-05 19:02   ` James Simmons
2003-03-06  1:18     ` Antonino Daplas
2003-03-05 18:57 ` James Simmons
     [not found] <CAGEeD9YPvDhbt7KFvLOJ6W99UM_Jck6PFF6HV2h=B5u2gChggg@mail.gmail.com>
2017-10-04  6:58 ` Никита Горбунов
2017-10-05  6:09   ` Sitsofe Wheeler
  -- strict thread matches above, loose matches on Subject: below --
2016-04-27 15:21 Akira Yokosawa
     [not found] ` <20160427165357.GD4967@linux.vnet.ibm.com>
2016-04-27 22:15   ` Akira Yokosawa
2016-04-27 22:50     ` Paul E. McKenney
2016-04-27 23:01       ` Akira Yokosawa
2016-04-27 23:28         ` Paul E. McKenney
2016-04-28 15:39           ` Akira Yokosawa
2016-04-28 16:28             ` Paul E. McKenney
2016-04-28 23:05               ` Akira Yokosawa
2016-04-29 16:00                 ` Akira Yokosawa
2016-04-29 17:15                   ` Paul E. McKenney
2016-04-29 22:06                     ` Akira Yokosawa
2016-04-30  1:05                       ` Paul E. McKenney
2012-01-27 13:12 Артём Алексюк
2010-11-09 20:31 connecting ieee80211_hw and net_device Zoltan Herczeg
2010-11-10  0:26 ` Johannes Berg
2010-11-11 14:20   ` Zoltan Herczeg
2010-11-12 22:33     ` Zoltan Herczeg
2010-11-16 17:50       ` some questions Zoltan Herczeg
2010-03-08  5:08 Some questions Tiago Maluta
2008-08-22  7:31 some questions Thomas Pasch
2008-08-22  8:53 ` Matthieu Moy
2008-08-22 14:08   ` Shawn O. Pearce
2008-08-22  9:28 ` Jakub Narebski
2008-08-22 14:15   ` Shawn O. Pearce
2008-05-04 16:16 David Arendt
     [not found] ` <481DE17B.3080407-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2008-05-05 15:55   ` Ryusuke Konishi
     [not found]     ` <20080506.005511.117028003.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-05-05 16:38       ` Ryusuke Konishi
2008-04-25  9:06 Some Questions James Scott
2008-04-26  7:48 ` Morten K. Poulsen
2008-04-27  9:47 ` James Scott
2003-08-19 15:53 Some questions Joerg Sommer
2001-10-05 12:50 Justin R. Smith
2001-10-05 13:57 ` Stephen Smalley
2001-10-05 16:36   ` Paul Krumviede
1998-06-05 22:34 Alex deVries
1998-06-06  0:25 ` Ariel Faigon
1998-06-06  0:25   ` Ariel Faigon
1998-06-06  6:32   ` Peter Maydell
1998-06-06 15:36     ` Jeremy John Welling
1998-06-08  6:14     ` ralf
1998-06-09  0:17       ` Steve Rikli

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=3E671848.5020506@winischhofer.net \
    --to=thomas@winischhofer.net \
    --cc=adaplas@pol.net \
    --cc=jsimmons@infradead.org \
    --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.