diff options
author | 2013-11-28 20:32:20 +0000 | |
---|---|---|
committer | 2013-11-28 20:32:20 +0000 | |
commit | bdf8954f3b70054b49396c59b2098d6b73dc01f5 (patch) | |
tree | c74306ac4d310dcfc1442220bfb804a8ba591c41 | |
parent | mark replaced flows as 'not loaded'; this can happen if both (diff) | |
download | wireguard-openbsd-bdf8954f3b70054b49396c59b2098d6b73dc01f5.tar.xz wireguard-openbsd-bdf8954f3b70054b49396c59b2098d6b73dc01f5.zip |
Add short-circuit code to __wait_seqno() that's also present in Linux.
-rw-r--r-- | sys/dev/pci/drm/i915/i915_gem.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/i915/i915_gem.c b/sys/dev/pci/drm/i915/i915_gem.c index cc130b42a4f..18c6c41858d 100644 --- a/sys/dev/pci/drm/i915/i915_gem.c +++ b/sys/dev/pci/drm/i915/i915_gem.c @@ -1,4 +1,4 @@ -/* $OpenBSD: i915_gem.c,v 1.47 2013/11/27 20:13:30 kettenis Exp $ */ +/* $OpenBSD: i915_gem.c,v 1.48 2013/11/28 20:32:20 kettenis Exp $ */ /* * Copyright (c) 2008-2009 Owain G. Ainsworth <oga@openbsd.org> * @@ -1027,6 +1027,9 @@ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, drm_i915_private_t *dev_priv = dev->dev_private; int ret = 0; + if (i915_seqno_passed(ring->get_seqno(ring, true), seqno)) + return 0; + mtx_enter(&dev_priv->irq_lock); if (!i915_seqno_passed(ring->get_seqno(ring, true), seqno)) { ring->irq_get(ring); |