How should .fb_check_var adjust parameters ?

2 messages, 2 authors, 2011-08-12 · open the first message on its own page

How should .fb_check_var adjust parameters ?

From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: 2011-08-12 11:08:59

Hi everybody,

I'm implementing support for fb_set_par() in a driver, and came to think about 
how fb_check_var should behave.

The purpose of that operation is to let drivers verify and adjust a given set 
of fb_var_screeninfo parameters. Looking at various fbdev drivers, the 
function behaviour is clearly left to the author's preferences. Some drivers 
return an error when the parameters don't match the hardware capabilities 
exactly, other drivers adjust them in pretty much non-standardized ways, and 
some other drivers mix both behaviours.

Is anyone aware of guidelines regarding how .fb_char_var should be implemented 
? Under which conditions should it return an error, and under which conditions 
should it adjust parameters ? When adjusting parameters, how should it do so ? 
For instance, if xres > xres_virtual, should xres be lowered or xres_virtual 
raised ?

-- 
Regards,

Laurent Pinchart

Re: How should .fb_check_var adjust parameters ?

From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Date: 2011-08-12 12:06:06

Hi Laurent,

On 08/12/2011 11:08 AM, Laurent Pinchart wrote:
Hi everybody,

I'm implementing support for fb_set_par() in a driver, and came to think about
how fb_check_var should behave.

The purpose of that operation is to let drivers verify and adjust a given set
of fb_var_screeninfo parameters. Looking at various fbdev drivers, the
function behaviour is clearly left to the author's preferences. Some drivers
return an error when the parameters don't match the hardware capabilities
exactly, other drivers adjust them in pretty much non-standardized ways, and
some other drivers mix both behaviours.

Is anyone aware of guidelines regarding how .fb_char_var should be implemented
? Under which conditions should it return an error, and under which conditions
should it adjust parameters ? When adjusting parameters, how should it do so ?
For instance, if xres>  xres_virtual, should xres be lowered or xres_virtual
raised ?
I try to stick to
drivers/video/skeletonfb.c

  *	If the var passed in is slightly
  *	off by what the hardware can support then we alter the var PASSED in
  *	to what we can do.
  *
  *      For values that are off, this function must round them _up_ to the
  *      next value that is supported by the hardware.  If the value is
  *      greater than the highest value supported by the hardware, then this
  *      function must return -EINVAL.

Sure that still allows a lot of differences in implementation.


Best regards,

Florian Tobias Schandinat
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help