Thread (28 messages) 28 messages, 5 authors, 2004-11-06

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help