summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2015-02-12 02:12:02 +0000
committerkettenis <kettenis@openbsd.org>2015-02-12 02:12:02 +0000
commit7961cdb6ce2f9e74c224492c502a4c12825c79fc (patch)
treeaff7687513e27e3e3e33aa1908ebb64a6514b066
parentUse ntpd's deferred DNS resolving for constraints as well. This (diff)
downloadwireguard-openbsd-7961cdb6ce2f9e74c224492c502a4c12825c79fc.tar.xz
wireguard-openbsd-7961cdb6ce2f9e74c224492c502a4c12825c79fc.zip
Add mutex_is_locked and use it wherever linux uses it.
-rw-r--r--sys/dev/pci/drm/drm_crtc.c6
-rw-r--r--sys/dev/pci/drm/drm_linux.h3
-rw-r--r--sys/dev/pci/drm/i915/i915_gem.c8
-rw-r--r--sys/dev/pci/drm/i915/i915_gem_context.c4
-rw-r--r--sys/dev/pci/drm/i915/i915_gem_execbuffer.c4
-rw-r--r--sys/dev/pci/drm/i915/intel_overlay.c10
-rw-r--r--sys/dev/pci/drm/i915/intel_pm.c16
7 files changed, 21 insertions, 30 deletions
diff --git a/sys/dev/pci/drm/drm_crtc.c b/sys/dev/pci/drm/drm_crtc.c
index f6d79cea7a5..1cd1734167a 100644
--- a/sys/dev/pci/drm/drm_crtc.c
+++ b/sys/dev/pci/drm/drm_crtc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: drm_crtc.c,v 1.11 2015/02/11 07:01:36 jsg Exp $ */
+/* $OpenBSD: drm_crtc.c,v 1.12 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright (c) 2006-2008 Intel Corporation
* Copyright (c) 2007 Dave Airlie <airlied@linux.ie>
@@ -342,11 +342,9 @@ static void drm_framebuffer_free(struct drm_framebuffer *fb)
*/
void drm_framebuffer_unreference(struct drm_framebuffer *fb)
{
-// struct drm_device *dev = fb->dev;
+ struct drm_device *dev = fb->dev;
DRM_DEBUG("FB ID: %d\n", fb->base.id);
-#ifdef notyet
WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
-#endif
if (refcount_release(&fb->refcount))
drm_framebuffer_free(fb);
}
diff --git a/sys/dev/pci/drm/drm_linux.h b/sys/dev/pci/drm/drm_linux.h
index ba105db880d..c6e6cdcbdb2 100644
--- a/sys/dev/pci/drm/drm_linux.h
+++ b/sys/dev/pci/drm/drm_linux.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: drm_linux.h,v 1.4 2015/02/11 07:01:36 jsg Exp $ */
+/* $OpenBSD: drm_linux.h,v 1.5 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright (c) 2013, 2014 Mark Kettenis
*
@@ -86,6 +86,7 @@ spin_unlock_irqrestore(struct mutex *mtxp, __unused unsigned long flags)
#define mutex_lock_interruptible(rwl) -rw_enter(rwl, RW_WRITE | RW_INTR)
#define mutex_lock(rwl) rw_enter_write(rwl)
#define mutex_unlock(rwl) rw_exit_write(rwl)
+#define mutex_is_locked(rwl) (rw_status(rwl) == RW_WRITE)
#define down_read(rwl) rw_enter_read(rwl)
#define up_read(rwl) rw_exit_read(rwl)
#define down_write(rwl) rw_enter_write(rwl)
diff --git a/sys/dev/pci/drm/i915/i915_gem.c b/sys/dev/pci/drm/i915/i915_gem.c
index 7281b0684ac..f775c160b9b 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.82 2015/02/10 10:50:49 jsg Exp $ */
+/* $OpenBSD: i915_gem.c,v 1.83 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright (c) 2008-2009 Owain G. Ainsworth <oga@openbsd.org>
*
@@ -1098,7 +1098,7 @@ i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno)
{
int ret;
-// BUG_ON(!mutex_is_locked(&ring->dev->struct_mutex));
+ BUG_ON(!mutex_is_locked(&ring->dev->struct_mutex));
ret = 0;
if (seqno == ring->outstanding_lazy_request)
@@ -1227,7 +1227,7 @@ i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno)
bool interruptible = dev_priv->mm.interruptible;
int ret;
-// BUG_ON(!mutex_is_locked(&dev->struct_mutex));
+ BUG_ON(!mutex_is_locked(&dev->struct_mutex));
BUG_ON(seqno == 0);
ret = i915_gem_check_wedge(dev_priv, interruptible);
@@ -1288,7 +1288,7 @@ i915_gem_object_wait_rendering__nonblocking(struct drm_i915_gem_object *obj,
u32 seqno;
int ret;
- rw_assert_wrlock(&dev->struct_mutex);
+ BUG_ON(!mutex_is_locked(&dev->struct_mutex));
BUG_ON(!dev_priv->mm.interruptible);
seqno = readonly ? obj->last_write_seqno : obj->last_read_seqno;
diff --git a/sys/dev/pci/drm/i915/i915_gem_context.c b/sys/dev/pci/drm/i915/i915_gem_context.c
index 08d36ca0aab..d72d91eab08 100644
--- a/sys/dev/pci/drm/i915/i915_gem_context.c
+++ b/sys/dev/pci/drm/i915/i915_gem_context.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: i915_gem_context.c,v 1.10 2015/02/10 01:39:32 jsg Exp $ */
+/* $OpenBSD: i915_gem_context.c,v 1.11 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright © 2011-2012 Intel Corporation
*
@@ -225,7 +225,7 @@ static int create_default_context(struct drm_i915_private *dev_priv)
struct drm_device *dev = (struct drm_device *)dev_priv->drmdev;
int ret;
- rw_assert_wrlock(&dev->struct_mutex);
+ BUG_ON(!mutex_is_locked(&dev->struct_mutex));
ctx = create_hw_context(dev, NULL);
if (IS_ERR(ctx))
diff --git a/sys/dev/pci/drm/i915/i915_gem_execbuffer.c b/sys/dev/pci/drm/i915/i915_gem_execbuffer.c
index ed1a52bf4d8..6fc61e901a9 100644
--- a/sys/dev/pci/drm/i915/i915_gem_execbuffer.c
+++ b/sys/dev/pci/drm/i915/i915_gem_execbuffer.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: i915_gem_execbuffer.c,v 1.32 2015/02/10 01:39:32 jsg Exp $ */
+/* $OpenBSD: i915_gem_execbuffer.c,v 1.33 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright (c) 2008-2009 Owain G. Ainsworth <oga@openbsd.org>
*
@@ -1019,7 +1019,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
&objects, eb,
exec,
args->buffer_count);
- rw_assert_wrlock(&dev->struct_mutex);
+ BUG_ON(!mutex_is_locked(&dev->struct_mutex));
}
if (ret)
goto err;
diff --git a/sys/dev/pci/drm/i915/intel_overlay.c b/sys/dev/pci/drm/i915/intel_overlay.c
index b5614a831f6..b5299b21303 100644
--- a/sys/dev/pci/drm/i915/intel_overlay.c
+++ b/sys/dev/pci/drm/i915/intel_overlay.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: intel_overlay.c,v 1.12 2015/02/11 07:01:37 jsg Exp $ */
+/* $OpenBSD: intel_overlay.c,v 1.13 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright © 2009
*
@@ -707,10 +707,8 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
struct drm_device *dev = overlay->dev;
u32 swidth, swidthsw, sheight, ostride;
-#ifdef notyet
BUG_ON(!mutex_is_locked(&dev->struct_mutex));
-#endif
- rw_assert_wrlock(&dev->mode_config.mutex);
+ BUG_ON(!mutex_is_locked(&dev->mode_config.mutex));
BUG_ON(!overlay);
ret = intel_overlay_release_old_vid(overlay);
@@ -814,10 +812,8 @@ int intel_overlay_switch_off(struct intel_overlay *overlay)
struct drm_device *dev = overlay->dev;
int ret;
-#ifdef notyet
BUG_ON(!mutex_is_locked(&dev->struct_mutex));
-#endif
- rw_assert_wrlock(&dev->mode_config.mutex);
+ BUG_ON(!mutex_is_locked(&dev->mode_config.mutex));
ret = intel_overlay_recover_from_interrupt(overlay);
if (ret != 0)
diff --git a/sys/dev/pci/drm/i915/intel_pm.c b/sys/dev/pci/drm/i915/intel_pm.c
index 7a33b28c4a9..b4cf423dd21 100644
--- a/sys/dev/pci/drm/i915/intel_pm.c
+++ b/sys/dev/pci/drm/i915/intel_pm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: intel_pm.c,v 1.26 2015/02/11 07:01:37 jsg Exp $ */
+/* $OpenBSD: intel_pm.c,v 1.27 2015/02/12 02:12:02 kettenis Exp $ */
/*
* Copyright © 2012 Intel Corporation
*
@@ -2282,9 +2282,7 @@ intel_alloc_context_page(struct drm_device *dev)
struct drm_i915_gem_object *ctx;
int ret;
-#ifdef notyet
WARN_ON(!mutex_is_locked(&dev->struct_mutex));
-#endif
ctx = i915_gem_alloc_object(dev, 4096);
if (!ctx) {
@@ -2481,7 +2479,7 @@ void gen6_set_rps(struct drm_device *dev, u8 val)
struct drm_i915_private *dev_priv = dev->dev_private;
u32 limits = gen6_rps_limits(dev_priv, &val);
- rw_assert_wrlock(&dev_priv->rps.hw_lock);
+ WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
WARN_ON(val > dev_priv->rps.max_delay);
WARN_ON(val < dev_priv->rps.min_delay);
@@ -2561,7 +2559,7 @@ static void gen6_enable_rps(struct drm_device *dev)
int rc6_mode;
int i, ret;
- rw_assert_wrlock(&dev_priv->rps.hw_lock);
+ WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
/* Here begins a magic sequence of register writes to enable
* auto-downclocking.
@@ -2703,7 +2701,7 @@ static void gen6_update_ring_freq(struct drm_device *dev)
unsigned int ia_freq, max_ia_freq;
int scaling_factor = 180;
- rw_assert_wrlock(&dev_priv->rps.hw_lock);
+ WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
#ifdef notyet
max_ia_freq = cpufreq_quick_get_max(0);
@@ -2818,9 +2816,7 @@ static void ironlake_enable_rc6(struct drm_device *dev)
if (!intel_enable_rc6(dev))
return;
-#ifdef notyet
WARN_ON(!mutex_is_locked(&dev->struct_mutex));
-#endif
ret = ironlake_setup_rc6(dev);
if (ret)
@@ -4531,7 +4527,7 @@ void intel_pm_init(struct drm_device *dev)
int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val)
{
int retries;
- rw_assert_wrlock(&dev_priv->rps.hw_lock);
+ WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
if (I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) {
DRM_DEBUG_DRIVER("warning: pcode (read) mailbox access failed\n");
@@ -4560,7 +4556,7 @@ int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val)
int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val)
{
int retries;
- rw_assert_wrlock(&dev_priv->rps.hw_lock);
+ WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
if (I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) {
DRM_DEBUG_DRIVER("warning: pcode (write) mailbox access failed\n");