diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2015-04-06 05:35:30 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2015-04-06 05:35:30 +0000 |
commit | c030f5766aa16372e60077808e29909fbfbde1ce (patch) | |
tree | 2fa34d9abd5b75b7353040ab6339ca40ea258568 /sys/dev/pci/drm | |
parent | 14181f676e4ea5e40df8604febf5fbf29a4e0a67 (diff) |
add and use macros for wake_up/wake_up_all/wake_up_all_locked
Diffstat (limited to 'sys/dev/pci/drm')
-rw-r--r-- | sys/dev/pci/drm/drm_linux.h | 5 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915/i915_irq.c | 8 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915/intel_display.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/evergreen.c | 14 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/r100.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/r600.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/radeon_fence.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/radeon_sa.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/rs600.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/si.c | 14 | ||||
-rw-r--r-- | sys/dev/pci/drm/ttm/ttm_bo.c | 16 | ||||
-rw-r--r-- | sys/dev/pci/drm/ttm/ttm_execbuf_util.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/ttm/ttm_lock.c | 12 |
13 files changed, 54 insertions, 51 deletions
diff --git a/sys/dev/pci/drm/drm_linux.h b/sys/dev/pci/drm/drm_linux.h index c1c30c027b2..f8c259a6257 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.9 2015/04/05 11:53:53 kettenis Exp $ */ +/* $OpenBSD: drm_linux.h,v 1.10 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright (c) 2013, 2014 Mark Kettenis * @@ -109,6 +109,9 @@ spin_unlock_irqrestore(struct mutex *mtxp, __unused unsigned long flags) #define write_lock(rwl) rw_enter_write(rwl) #define write_unlock(rwl) rw_exit_write(rwl) +#define wake_up(x) wakeup(x) +#define wake_up_all(x) wakeup(x) +#define wake_up_all_locked(x) wakeup(x) #define NSEC_PER_SEC 1000000000L diff --git a/sys/dev/pci/drm/i915/i915_irq.c b/sys/dev/pci/drm/i915/i915_irq.c index db99a1fca1a..536ad2cd95a 100644 --- a/sys/dev/pci/drm/i915/i915_irq.c +++ b/sys/dev/pci/drm/i915/i915_irq.c @@ -1,4 +1,4 @@ -/* $OpenBSD: i915_irq.c,v 1.21 2015/02/12 11:11:45 jsg Exp $ */ +/* $OpenBSD: i915_irq.c,v 1.22 2015/04/06 05:35:29 jsg Exp $ */ /* i915_irq.c -- IRQ support for the I915 -*- linux-c -*- */ /* @@ -349,7 +349,7 @@ static void notify_ring(struct drm_device *dev, // trace_i915_gem_request_complete(ring, ring->get_seqno(ring, false)); - wakeup(ring); + wake_up_all(ring); if (i915_enable_hangcheck) { dev_priv->hangcheck_count = 0; timeout_add_msec(&dev_priv->hangcheck_timer, @@ -1467,7 +1467,7 @@ void i915_handle_error(struct drm_device *dev, bool wedged) * Wakeup waiting processes so they don't hang */ for_each_ring(ring, dev_priv, i) - wakeup(ring); + wake_up_all(ring); } task_add(systq, &dev_priv->error_task); @@ -1679,7 +1679,7 @@ static bool i915_hangcheck_ring_idle(struct intel_ring_buffer *ring, bool *err) *err = true; } #else - wakeup(ring); + wake_up_all(ring); #endif return true; } diff --git a/sys/dev/pci/drm/i915/intel_display.c b/sys/dev/pci/drm/i915/intel_display.c index 80ff8a58ea2..3dbdfd69ead 100644 --- a/sys/dev/pci/drm/i915/intel_display.c +++ b/sys/dev/pci/drm/i915/intel_display.c @@ -1,4 +1,4 @@ -/* $OpenBSD: intel_display.c,v 1.43 2015/02/12 08:48:32 jsg Exp $ */ +/* $OpenBSD: intel_display.c,v 1.44 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright © 2006-2007 Intel Corporation * @@ -7226,7 +7226,7 @@ static void do_intel_finish_page_flip(struct drm_device *dev, obj = work->old_fb_obj; atomic_clear_int(&obj->pending_flip, 1 << intel_crtc->plane); - wakeup(&dev_priv->pending_flip_queue); + wake_up(&dev_priv->pending_flip_queue); task_add(systq, &work->task); diff --git a/sys/dev/pci/drm/radeon/evergreen.c b/sys/dev/pci/drm/radeon/evergreen.c index d56e89168d5..f10f29640fd 100644 --- a/sys/dev/pci/drm/radeon/evergreen.c +++ b/sys/dev/pci/drm/radeon/evergreen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: evergreen.c,v 1.15 2015/02/12 11:11:45 jsg Exp $ */ +/* $OpenBSD: evergreen.c,v 1.16 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2010 Advanced Micro Devices, Inc. * @@ -3075,7 +3075,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[0]) { drm_handle_vblank(ddev, 0); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[0])) radeon_crtc_handle_flip(rdev, 0); @@ -3101,7 +3101,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[1]) { drm_handle_vblank(ddev, 1); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[1])) radeon_crtc_handle_flip(rdev, 1); @@ -3127,7 +3127,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[2]) { drm_handle_vblank(ddev, 2); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[2])) radeon_crtc_handle_flip(rdev, 2); @@ -3153,7 +3153,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[3]) { drm_handle_vblank(ddev, 3); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[3])) radeon_crtc_handle_flip(rdev, 3); @@ -3179,7 +3179,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[4]) { drm_handle_vblank(ddev, 4); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[4])) radeon_crtc_handle_flip(rdev, 4); @@ -3205,7 +3205,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[5]) { drm_handle_vblank(ddev, 5); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[5])) radeon_crtc_handle_flip(rdev, 5); diff --git a/sys/dev/pci/drm/radeon/r100.c b/sys/dev/pci/drm/radeon/r100.c index 245df0b6b3f..bfc1cf31d71 100644 --- a/sys/dev/pci/drm/radeon/r100.c +++ b/sys/dev/pci/drm/radeon/r100.c @@ -1,4 +1,4 @@ -/* $OpenBSD: r100.c,v 1.12 2015/04/06 03:49:47 jsg Exp $ */ +/* $OpenBSD: r100.c,v 1.13 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. * Copyright 2008 Red Hat Inc. @@ -789,7 +789,7 @@ int r100_irq_process(struct radeon_device *rdev) if (rdev->irq.crtc_vblank_int[0]) { drm_handle_vblank(rdev->ddev, 0); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[0])) radeon_crtc_handle_flip(rdev, 0); @@ -798,7 +798,7 @@ int r100_irq_process(struct radeon_device *rdev) if (rdev->irq.crtc_vblank_int[1]) { drm_handle_vblank(rdev->ddev, 1); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[1])) radeon_crtc_handle_flip(rdev, 1); diff --git a/sys/dev/pci/drm/radeon/r600.c b/sys/dev/pci/drm/radeon/r600.c index d9b2564cc27..3f7a869ed78 100644 --- a/sys/dev/pci/drm/radeon/r600.c +++ b/sys/dev/pci/drm/radeon/r600.c @@ -1,4 +1,4 @@ -/* $OpenBSD: r600.c,v 1.15 2015/04/06 03:49:47 jsg Exp $ */ +/* $OpenBSD: r600.c,v 1.16 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. * Copyright 2008 Red Hat Inc. @@ -3891,7 +3891,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[0]) { drm_handle_vblank(rdev->ddev, 0); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[0])) radeon_crtc_handle_flip(rdev, 0); @@ -3917,7 +3917,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[1]) { drm_handle_vblank(rdev->ddev, 1); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[1])) radeon_crtc_handle_flip(rdev, 1); diff --git a/sys/dev/pci/drm/radeon/radeon_fence.c b/sys/dev/pci/drm/radeon/radeon_fence.c index c2bf182f532..fb6b7103eb1 100644 --- a/sys/dev/pci/drm/radeon/radeon_fence.c +++ b/sys/dev/pci/drm/radeon/radeon_fence.c @@ -1,4 +1,4 @@ -/* $OpenBSD: radeon_fence.c,v 1.3 2015/02/10 06:19:36 jsg Exp $ */ +/* $OpenBSD: radeon_fence.c,v 1.4 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2009 Jerome Glisse. * All Rights Reserved. @@ -191,7 +191,7 @@ void radeon_fence_process(struct radeon_device *rdev, int ring) if (wake) { rdev->fence_drv[ring].last_activity = ticks; - wakeup(&rdev->fence_queue); + wake_up_all(&rdev->fence_queue); } } @@ -885,7 +885,7 @@ void radeon_fence_driver_fini(struct radeon_device *rdev) /* no need to trigger GPU reset as we are unloading */ radeon_fence_driver_force_completion(rdev); } - wakeup(&rdev->fence_queue); + wake_up_all(&rdev->fence_queue); radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg); rdev->fence_drv[ring].initialized = false; } diff --git a/sys/dev/pci/drm/radeon/radeon_sa.c b/sys/dev/pci/drm/radeon/radeon_sa.c index e43b2608ddb..d42d0d8cb7d 100644 --- a/sys/dev/pci/drm/radeon/radeon_sa.c +++ b/sys/dev/pci/drm/radeon/radeon_sa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: radeon_sa.c,v 1.5 2015/02/10 10:50:49 jsg Exp $ */ +/* $OpenBSD: radeon_sa.c,v 1.6 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2011 Red Hat Inc. * All Rights Reserved. @@ -407,7 +407,7 @@ void radeon_sa_bo_free(struct radeon_device *rdev, struct radeon_sa_bo **sa_bo, } else { radeon_sa_bo_remove_locked(*sa_bo); } - wakeup(&sa_manager->wq); + wake_up_all_locked(&sa_manager->wq); spin_unlock(&sa_manager->wq_lock); *sa_bo = NULL; } diff --git a/sys/dev/pci/drm/radeon/rs600.c b/sys/dev/pci/drm/radeon/rs600.c index 1ab0ba26d01..2a698c1fc00 100644 --- a/sys/dev/pci/drm/radeon/rs600.c +++ b/sys/dev/pci/drm/radeon/rs600.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rs600.c,v 1.7 2015/02/12 11:11:45 jsg Exp $ */ +/* $OpenBSD: rs600.c,v 1.8 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. * Copyright 2008 Red Hat Inc. @@ -726,7 +726,7 @@ int rs600_irq_process(struct radeon_device *rdev) if (rdev->irq.crtc_vblank_int[0]) { drm_handle_vblank(rdev->ddev, 0); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[0])) radeon_crtc_handle_flip(rdev, 0); @@ -735,7 +735,7 @@ int rs600_irq_process(struct radeon_device *rdev) if (rdev->irq.crtc_vblank_int[1]) { drm_handle_vblank(rdev->ddev, 1); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[1])) radeon_crtc_handle_flip(rdev, 1); diff --git a/sys/dev/pci/drm/radeon/si.c b/sys/dev/pci/drm/radeon/si.c index 8d7344b3ddb..18230816052 100644 --- a/sys/dev/pci/drm/radeon/si.c +++ b/sys/dev/pci/drm/radeon/si.c @@ -1,4 +1,4 @@ -/* $OpenBSD: si.c,v 1.19 2015/02/12 11:11:45 jsg Exp $ */ +/* $OpenBSD: si.c,v 1.20 2015/04/06 05:35:29 jsg Exp $ */ /* * Copyright 2011 Advanced Micro Devices, Inc. * @@ -3764,7 +3764,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[0]) { drm_handle_vblank(rdev->ddev, 0); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[0])) radeon_crtc_handle_flip(rdev, 0); @@ -3790,7 +3790,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[1]) { drm_handle_vblank(rdev->ddev, 1); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[1])) radeon_crtc_handle_flip(rdev, 1); @@ -3816,7 +3816,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[2]) { drm_handle_vblank(rdev->ddev, 2); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[2])) radeon_crtc_handle_flip(rdev, 2); @@ -3842,7 +3842,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[3]) { drm_handle_vblank(rdev->ddev, 3); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[3])) radeon_crtc_handle_flip(rdev, 3); @@ -3868,7 +3868,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[4]) { drm_handle_vblank(rdev->ddev, 4); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[4])) radeon_crtc_handle_flip(rdev, 4); @@ -3894,7 +3894,7 @@ restart_ih: if (rdev->irq.crtc_vblank_int[5]) { drm_handle_vblank(rdev->ddev, 5); rdev->pm.vblank_sync = true; - wakeup(&rdev->irq.vblank_queue); + wake_up(&rdev->irq.vblank_queue); } if (atomic_read(&rdev->irq.pflip[5])) radeon_crtc_handle_flip(rdev, 5); diff --git a/sys/dev/pci/drm/ttm/ttm_bo.c b/sys/dev/pci/drm/ttm/ttm_bo.c index 8fc9aed8fa9..6eef2a475b3 100644 --- a/sys/dev/pci/drm/ttm/ttm_bo.c +++ b/sys/dev/pci/drm/ttm/ttm_bo.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ttm_bo.c,v 1.13 2015/02/11 07:01:37 jsg Exp $ */ +/* $OpenBSD: ttm_bo.c,v 1.14 2015/04/06 05:35:29 jsg Exp $ */ /************************************************************************** * * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., USA @@ -262,7 +262,7 @@ int ttm_bo_reserve_locked(struct ttm_buffer_object *bo, */ if (unlikely((bo->val_seq - sequence < (1 << 31)) || !bo->seq_valid)) - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); bo->val_seq = sequence; bo->seq_valid = true; @@ -311,7 +311,7 @@ void ttm_bo_unreserve_locked(struct ttm_buffer_object *bo) { ttm_bo_add_to_lru(bo); atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); } void ttm_bo_unreserve(struct ttm_buffer_object *bo) @@ -499,7 +499,7 @@ static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo) ttm_bo_mem_put(bo, &bo->mem); atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); /* * Since the final reference to this bo may not be dropped by @@ -542,7 +542,7 @@ static void ttm_bo_cleanup_refs_or_queue(struct ttm_buffer_object *bo) if (!ret) { atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); } refcount_acquire(&bo->list_kref); @@ -594,7 +594,7 @@ static int ttm_bo_cleanup_refs_and_unlock(struct ttm_buffer_object *bo, spin_unlock(&bdev->fence_lock); atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); spin_unlock(&glob->lru_lock); ret = driver->sync_obj_wait(sync_obj, false, interruptible); @@ -633,7 +633,7 @@ static int ttm_bo_cleanup_refs_and_unlock(struct ttm_buffer_object *bo, if (ret || unlikely(list_empty(&bo->ddestroy))) { atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); spin_unlock(&glob->lru_lock); return ret; } @@ -1899,7 +1899,7 @@ out: */ atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); if (refcount_release(&bo->list_kref)) ttm_bo_release_list(bo); return ret; diff --git a/sys/dev/pci/drm/ttm/ttm_execbuf_util.c b/sys/dev/pci/drm/ttm/ttm_execbuf_util.c index 51c11c0ba8c..e8f8c31d106 100644 --- a/sys/dev/pci/drm/ttm/ttm_execbuf_util.c +++ b/sys/dev/pci/drm/ttm/ttm_execbuf_util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ttm_execbuf_util.c,v 1.2 2015/02/10 10:50:49 jsg Exp $ */ +/* $OpenBSD: ttm_execbuf_util.c,v 1.3 2015/04/06 05:35:29 jsg Exp $ */ /************************************************************************** * * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., USA @@ -46,7 +46,7 @@ static void ttm_eu_backoff_reservation_locked(struct list_head *list) } entry->reserved = false; atomic_set(&bo->reserved, 0); - wakeup(&bo->event_queue); + wake_up_all(&bo->event_queue); } } diff --git a/sys/dev/pci/drm/ttm/ttm_lock.c b/sys/dev/pci/drm/ttm/ttm_lock.c index 418396b4fe9..da2279c52a5 100644 --- a/sys/dev/pci/drm/ttm/ttm_lock.c +++ b/sys/dev/pci/drm/ttm/ttm_lock.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ttm_lock.c,v 1.3 2015/02/10 10:50:49 jsg Exp $ */ +/* $OpenBSD: ttm_lock.c,v 1.4 2015/04/06 05:35:29 jsg Exp $ */ /************************************************************************** * * Copyright (c) 2007-2009 VMware, Inc., Palo Alto, CA., USA @@ -58,7 +58,7 @@ void ttm_read_unlock(struct ttm_lock *lock) { spin_lock(&lock->lock); if (--lock->rw == 0) - wakeup(&lock->queue); + wake_up_all(&lock->queue); spin_unlock(&lock->lock); } EXPORT_SYMBOL(ttm_read_unlock); @@ -153,7 +153,7 @@ void ttm_write_unlock(struct ttm_lock *lock) { spin_lock(&lock->lock); lock->rw = 0; - wakeup(&lock->queue); + wake_up_all(&lock->queue); spin_unlock(&lock->lock); } EXPORT_SYMBOL(ttm_write_unlock); @@ -209,7 +209,7 @@ void ttm_write_lock_downgrade(struct ttm_lock *lock) { spin_lock(&lock->lock); lock->rw = 1; - wakeup(&lock->queue); + wake_up_all(&lock->queue); spin_unlock(&lock->lock); } @@ -222,7 +222,7 @@ static int __ttm_vt_unlock(struct ttm_lock *lock) if (unlikely(!(lock->flags & TTM_VT_LOCK))) ret = -EINVAL; lock->flags &= ~TTM_VT_LOCK; - wakeup(&lock->queue); + wake_up_all(&lock->queue); spin_unlock(&lock->lock); return ret; @@ -311,7 +311,7 @@ void ttm_suspend_unlock(struct ttm_lock *lock) { spin_lock(&lock->lock); lock->flags &= ~TTM_SUSPEND_LOCK; - wakeup(&lock->queue); + wake_up_all(&lock->queue); spin_unlock(&lock->lock); } EXPORT_SYMBOL(ttm_suspend_unlock); |