From: "Ville Syrjälä" <syrjala@sci.fi>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Linux Fbdev development list
<linux-fbdev-devel@lists.sourceforge.net>,
"Antonino A. Daplas" <adaplas@hotpop.com>
Subject: Re: [PATCH] fbdev: workaround for broken X servers
Date: Fri, 5 Nov 2004 11:36:18 +0200 [thread overview]
Message-ID: <20041105093618.GA15762@sci.fi> (raw)
In-Reply-To: <1099633776.9260.160.camel@gaston>
On Fri, Nov 05, 2004 at 04:49:36PM +1100, Benjamin Herrenschmidt wrote:
>
> > > Index: linux-work/drivers/video/fbmem.c
> > > ===================================================================
> > > --- linux-work.orig/drivers/video/fbmem.c 2004-10-26 13:15:55.000000000 +1000
> > > +++ linux-work/drivers/video/fbmem.c 2004-11-03 13:10:41.324932256 +1100
> > > @@ -748,6 +748,10 @@
> > > u16 *black = NULL;
> > > int err = 0;
> > >
> > > + /* 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.
>
> Ok, can we agree here on what has to be done ? X is hard-coding numbers
> that don't seem to be make any sense vs. our constants. In radeonfb, I
> used switch case on constants, not +1, so there is something I'm not
> getting. Besides, radeon always try to power down TFT panels when
> blank != 0, maybe I should improve that ... What is this +1 thing, where
> does it comes from ?
Maybe it's there because someone wanted to blank the display without
disabling sync signals.
I suggest a new set of constants that cover all legal values. Here's the
first drawft.
--- linux-orig/include/linux/fb.h 2004-11-05 12:25:14.087807848 +0200
+++ linux/include/linux/fb.h 2004-11-05 12:28:02.734169704 +0200
@@ -27,7 +27,7 @@
/* #define FBIOSWITCH_MONIBIT 0x460E */
#define FBIOGET_CON2FBMAP 0x460F
#define FBIOPUT_CON2FBMAP 0x4610
-#define FBIOBLANK 0x4611 /* arg: 0 or vesa level + 1 */
+#define FBIOBLANK 0x4611 /* see FB_BLANK_* */
#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank)
#define FBIO_ALLOC 0x4613
#define FBIO_FREE 0x4614
@@ -258,6 +258,12 @@
#define VESA_HSYNC_SUSPEND 2
#define VESA_POWERDOWN 3
+#define FB_BLANK_NO_BLANKING 0
+#define FB_BLANK_BLANKING 1
+#define FB_BLANK_VSYNC_SUSPEND 2
+#define FB_BLANK_HSYNC_SUSPEND 3
+#define FB_BLANK_POWERDOWN 4
+
#define FB_VBLANK_VBLANKING 0x001 /* currently in a vertical blank */
#define FB_VBLANK_HBLANKING 0x002 /* currently in a horizontal blank */
#define FB_VBLANK_HAVE_VBLANK 0x004 /* vertical blanks can be detected */
--
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_id\x12065&op=click
next prev parent reply other threads:[~2004-11-05 9:36 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-03 2:13 [PATCH] fbdev: workaround for broken X servers Benjamin Herrenschmidt
2004-11-03 3:26 ` Ville Syrjälä
2004-11-03 13:09 ` Antonino A. Daplas
2004-11-03 14:01 ` Ville Syrjälä
2004-11-03 21:42 ` Antonino A. Daplas
2004-11-05 5:49 ` Benjamin Herrenschmidt
2004-11-05 9:04 ` Geert Uytterhoeven
2004-11-05 9:36 ` Ville Syrjälä [this message]
2004-11-05 9:56 ` Geert Uytterhoeven
2004-11-05 10:43 ` Ville Syrjälä
2004-11-05 11:47 ` Benjamin Herrenschmidt
2004-11-05 12:15 ` Geert Uytterhoeven
2004-11-05 12:55 ` Antonino A. Daplas
2004-11-05 12:58 ` Geert Uytterhoeven
2004-11-05 13:15 ` Antonino A. Daplas
2004-11-05 15:00 ` Maciej W. Rozycki
2004-11-05 15:21 ` Geert Uytterhoeven
2004-11-05 15:59 ` Maciej W. Rozycki
2004-11-06 0:38 ` Benjamin Herrenschmidt
2004-11-06 2:02 ` Antonino A. Daplas
2004-11-06 3:06 ` Benjamin Herrenschmidt
2004-11-06 11:18 ` Antonino A. Daplas
2004-11-05 15:30 ` Ville Syrjälä
2004-11-05 15:48 ` Geert Uytterhoeven
2004-11-06 0:37 ` Benjamin Herrenschmidt
2004-11-06 2:07 ` Antonino A. Daplas
2004-11-05 11:46 ` Benjamin Herrenschmidt
2004-11-05 12:25 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041105093618.GA15762@sci.fi \
--to=syrjala@sci.fi \
--cc=adaplas@hotpop.com \
--cc=benh@kernel.crashing.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.