summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2013-03-26 21:01:02 +0000
committerkettenis <kettenis@openbsd.org>2013-03-26 21:01:02 +0000
commit5274de747dd7d713aa94fb76596af060462b4d03 (patch)
treea578f75f2527ae08dc6b077267367589127c09b4
parentmore octeon bits (diff)
downloadwireguard-openbsd-5274de747dd7d713aa94fb76596af060462b4d03.tar.xz
wireguard-openbsd-5274de747dd7d713aa94fb76596af060462b4d03.zip
Short-circuit screen switching if we're switching to the screen that's
currently active.
-rw-r--r--sys/dev/pci/drm/i915/i915_drv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/i915/i915_drv.c b/sys/dev/pci/drm/i915/i915_drv.c
index 8c0568523d7..19272512bdf 100644
--- a/sys/dev/pci/drm/i915/i915_drv.c
+++ b/sys/dev/pci/drm/i915/i915_drv.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: i915_drv.c,v 1.7 2013/03/25 19:50:56 kettenis Exp $ */
+/* $OpenBSD: i915_drv.c,v 1.8 2013/03/26 21:01:02 kettenis Exp $ */
/*
* Copyright (c) 2008-2009 Owain G. Ainsworth <oga@openbsd.org>
*
@@ -699,6 +699,10 @@ inteldrm_show_screen(void *v, void *cookie, int waitok,
void (*cb)(void *, int, int), void *cbarg)
{
struct inteldrm_softc *dev_priv = v;
+ struct rasops_info *ri = &dev_priv->ro;
+
+ if (cookie == ri->ri_active)
+ return (0);
dev_priv->switchcb = cb;
dev_priv->switchcbarg = cbarg;