Thread (33 messages) 33 messages, 5 authors, 2008-09-04

Re: [PATCH] Do set var even if no fb_check_var() provided.

From: Helge Deller <deller@gmx.de>
Date: 2008-08-28 21:45:50

Ville Syrjälä wrote:
On Wed, Aug 27, 2008 at 11:49:15PM +0200, Helge Deller wrote:
quoted
Geert Uytterhoeven wrote:
quoted
On Wed, 27 Aug 2008, Takashi Yoshii wrote:
quoted
The behavior of FBIOSET_VSCREENINFO seems to be weired on FB which does
not
 provides fbops->fb_check_var.
It doesn't set anything, but gets info->var instead, and returns no
error. It is just same as FBIOGET_VSCREENINFO does.

IMHO, this should be one of the following candidates,
 1. set var without check.
 2. do nothing but return error (setting var is not supported).
or
 3. it's a bug (fb_check_var should always be provided).

The patch at the bottom implements "1".

Because I don't know API specification, nor the history of the code,
I would like people who knows well to discuss this.
If the driver doesn't provide a fb_check_var(), it means it cannot
change video mode. Hence this rules out #1.

#2 is not acceptable, as it will break existing applications. It's also
incorrect, as FBIOPUT_VSCREENINFO should succeed for supported modes.
For unsupported modes, the mode should be rounded up to a supported mode,
if possible. In the case of drivers that support one fixed mode only, this
rounding up is relaxed to `rounding' to the sole supported mode.

#3 is also wrong, as fb_check_var() has been deliberately made optional to
simplify drivers that support one fixed mode only.

Conclusion: nothing should be changed?
I'm not sure.
On parisc we just stumbled over exactly this problem where I think Takashi's
proposal "1." is probably the right solution.
What about this?

4. Provide a generic check_var() that does some basic sanity checking
against info->var (eg. check xres, yres and bits_per_pixel).
Yes, possible.
But that wouldn't solve issues with Xorg's current implementation, as 
Xorg is currently checking the monitor sync values as well (see 
https://bugs.freedesktop.org/show_bug.cgi?id=17153)

Helge

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help