diff options
author | Keith Packard <keithp@keithp.com> | 2001-07-11 16:42:17 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2001-07-11 16:42:17 +0000 |
commit | 090a429573dfb965ebc4ea8ea57e3bef5f9a8539 (patch) | |
tree | d6e8c32919f77d9bf629576c4e4acec51e848060 | |
parent | 99fb2eb76d8f93578e4aba75c73b9be0766f7b6f (diff) |
kdrive/fbdev: dont set DPMS mode repeatedly to the same value
-rw-r--r-- | hw/kdrive/fbdev/fbdev.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c index 4ab88aea8..39e17410b 100644 --- a/hw/kdrive/fbdev/fbdev.c +++ b/hw/kdrive/fbdev/fbdev.c @@ -770,14 +770,23 @@ fbdevDPMS (ScreenPtr pScreen, int mode) { KdScreenPriv(pScreen); FbdevPriv *priv = pScreenPriv->card->driver; + static int oldmode = -1; + if (mode == oldmode) + return TRUE; #ifdef FBIOPUT_POWERMODE if (ioctl (priv->fd, FBIOPUT_POWERMODE, &mode) >= 0) + { + oldmode = mode; return TRUE; + } #endif #ifdef FBIOBLANK if (ioctl (priv->fd, FBIOBLANK, mode ? mode + 1 : 0) >= 0) + { + oldmode = mode; return TRUE; + } #endif return FALSE; } |