1. NAME

fb_find_mode - finds a valid video mode

2. SYNOPSIS

int fb_find_mode(struct fb_var_screeninfo *  var , struct fb_info *  info , const char *  mode_option , const struct fb_videomode *  db , unsigned int  dbsize , const struct fb_videomode *  default_mode , unsigned int  default_bpp );

3. ARGUMENTS

var
    frame buffer user defined part of display

info
    frame buffer info structure

mode_option
    string video mode to find

db
    video mode database

dbsize
    size of db

default_mode
    default video mode to fall back to

default_bpp
    default color depth in bits per pixel

4. DESCRIPTION

Finds a suitable video mode, starting with the specified mode in mode_option with fallback to default_mode. If default_mode fails, all modes in the video mode database will be tried.

Valid mode specifiers for mode_option:

<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m] or <name>[-<bpp>][@<refresh>]

with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.

If AqMAq is present after yres (and before refresh/bpp if present), the function will compute the timings using VESA(tm) Coordinated Video Timings (CVT). If AqRAq is present after AqMAq, will compute with reduced blanking (for flatpanels). If AqiAq is present, compute interlaced mode. If AqmAq is present, add margins equal to 1.8% of xres rounded down to 8 pixels, and 1.8% of yres. The char AqiAq and AqmAq must be after AqMAq and AqRAq. Example:

1024x768MR-860m - Reduced blank with margins at 60Hz.

5. NOTE

The passed struct var is _not_ cleared! This allows you to supply values for e.g. the grayscale and accel_flags fields.

Returns zero for failure, 1 if using specified mode_option, 2 if using specified mode_option with an ignored refresh rate, 3 if default mode is used, 4 if fall back to any valid mode.

6. COPYRIGHT