Re: [Linux-fbdev-devel] [PATCH] fbdev: Fix usage of blank valuepassed to fb_blank

From: Geert Uytterhoeven
Date: Mon Jan 30 2006 - 05:21:01 EST


On Mon, 30 Jan 2006, Antonino A. Daplas wrote:
> Ville Syrjälä wrote:
> > On Sun, Jan 29, 2006 at 10:18:19AM +0800, Antonino A. Daplas wrote:
> >> diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
> >> index d2dede6..5bed0fb 100644
> >> --- a/drivers/video/fbmem.c
> >> +++ b/drivers/video/fbmem.c
> >> @@ -843,6 +843,19 @@ fb_blank(struct fb_info *info, int blank
> >> {
> >> int ret = -EINVAL;
> >>
> >> + /*
> >> + * The framebuffer core supports 5 blanking levels (FB_BLANK), whereas
> >> + * VESA defined only 4. The extra level, FB_BLANK_NORMAL, is a
> >> + * console invention and is not related to power management.
> >> + * Unfortunately, fb_blank callers, especially X, pass VESA constants
> >> + * leading to undefined behavior.
> >
> > Since when? X.Org uses numbers 0,2,3,4 which match the FB_BLANK
> > constants not the VESA constants.
> >
>
> How about if we silently convert FB_BLANK_NORMAL requests to
> FB_BLANK_VSYNC_SUSPEND, would that work?

Do all (old, pre-VESA) monitors like it when vsync goes away?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds