Re: [PATCH] fbdev: workaround for broken X servers
From: Ville Syrjälä <syrjala@sci.fi>
Date: 2004-11-03 14:01:15
On Wed, Nov 03, 2004 at 09:09:29PM +0800, Antonino A. Daplas wrote:
On Wednesday 03 November 2004 11:26, Ville Syrjälä wrote:quoted
On Wed, Nov 03, 2004 at 01:13:39PM +1100, Benjamin Herrenschmidt wrote:quoted
Hi ! + /* Workaround for broken X servers */ + if (blank > VESA_POWERDOWN) + blank = VESA_POWERDOWN; + if (info->fbops->fb_blank && !info->fbops->fb_blank(blank, info)) return 0;This goes against documented behaviour (see fb.h). Also drivers/char/vt.c seems to agree with fb.h, as do at least atyfb and matroxfb. I also used the vesa level+1 convention in DirectFB. So AFAICS this patch would confuse console power management, XFree86/X.Org, DirectFB and some fb drivers.True enough. The convention is if the display is active, then suspend. If it is suspended, then powerdown. And if already powered down, then do nothing. It does so by by sending a blank flag of VESA_POWERDOWN + 1. This is the convention used by the vt layer, I don't what is used by user apps.
XFree86/X.Org and DirectFB both use vesa level+1. I'm not sure if there are other userspace users.
The above patch won't break console power management as the console calls fbcon_blank(), not fb_blank().
But fbcon_blank() calls fb_blank() does it not? -- Ville Syrjälä syrjala@sci.fi http://www.sci.fi/~syrjala/ ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88&alloc_id065&op=click