Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/riastradh-drm2]: src/sys/external/bsd/drm2/dist/drm/i915 Kludgily work a...
details: https://anonhg.NetBSD.org/src/rev/8fa8663ed7d1
branches: riastradh-drm2
changeset: 788337:8fa8663ed7d1
user: riastradh <riastradh%NetBSD.org@localhost>
date: Wed Jul 24 03:19:18 2013 +0000
description:
Kludgily work around flush_workqueue in i915_driver_unload.
diffstat:
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diffs (26 lines):
diff -r 79cb3e2906a0 -r 8fa8663ed7d1 sys/external/bsd/drm2/dist/drm/i915/i915_dma.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c Wed Jul 24 03:19:02 2013 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c Wed Jul 24 03:19:18 2013 +0000
@@ -1863,7 +1863,22 @@
if (drm_core_check_feature(dev, DRIVER_MODESET)) {
/* Flush any outstanding unpin_work. */
+#ifdef __NetBSD__
+ /*
+ * XXX Keep this updated! (XXX How?)
+ * (XXX Well, do work queues for real...)
+ */
+ cancel_delayed_work_sync(&dev_priv->mm.retire_work);
+ cancel_work_sync(&dev_priv->l3_parity.error_work);
+ cancel_work_sync(&dev_priv->rps.work);
+ cancel_work_sync(&dev_priv->hotplug_work);
+ cancel_work_sync(&dev_priv->error_work);
+# if 0 /* XXX How do we get the CRTCs? */
+ cancel_work_sync(&...intel_crtc->unpin_work);
+# endif
+#else
flush_workqueue(dev_priv->wq);
+#endif
mutex_lock(&dev->struct_mutex);
i915_gem_free_all_phys_object(dev);
Home |
Main Index |
Thread Index |
Old Index