On Sat, 2007-06-23 at 12:50 +0200, Michal Januszewski wrote:
> If the refresh rate hasn't been explicitly specified, fd_find_mode
> currently returns the first mode with the requested resolution. Change
> it so that it returns a mode with the requested resolution and the
> highest refresh rate.
> 
> Also export fb_destroy_modelist, which is used in uvesafb.
> 
> Signed-off-by: Michal Januszewski <[EMAIL PROTECTED]>
> ---
> drivers/video/modedb.c |    7 +++++--
>  1 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
> index 3741ad7..98ee77b 100644
> --- a/drivers/video/modedb.c
> +++ b/drivers/video/modedb.c
> @@ -606,16 +606,18 @@ done:
>       DPRINTK("Trying specified video mode%s %ix%i\n",
>           refresh_specified ? "" : " (ignoring refresh rate)", xres, yres);
>  
> +     if (!refresh_specified)
> +             refresh = 200;
>       diff = refresh;

How about..?

        if (!refresh_specified)
                diff = 0;
        else
                diff = refresh;

>       best = -1;
>       for (i = 0; i < dbsize; i++) {
>               if (name_matches(db[i], name, namelen) ||
>                   (res_specified && res_matches(db[i], xres, yres))) {
>                       if(!fb_try_mode(var, info, &db[i], bpp)) {
> -                             if(!refresh_specified || db[i].refresh == 
> refresh)
> +                             if (refresh_specified && db[i].refresh == 
> refresh)
>                                       return 1;
>                               else {
> -                                     if(diff > abs(db[i].refresh - refresh)) 
> {
> +                                     if (diff > abs(db[i].refresh - 
> refresh)) {
>                                               diff = abs(db[i].refresh - 
> refresh);
>                                               best = i;
>                                       }
then
                                        if (diff < db[i].refresh) {
                                                diff = db[i].refresh;
                                                best = i;
                                        }

Tony


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to