diff options
-rw-r--r-- | sys/dev/pci/drm/i915/gt/intel_engine_cs.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915/i915_irq.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/include/linux/hardirq.h | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/pci/drm/i915/gt/intel_engine_cs.c b/sys/dev/pci/drm/i915/gt/intel_engine_cs.c index fbb0eeeee17..1262799d691 100644 --- a/sys/dev/pci/drm/i915/gt/intel_engine_cs.c +++ b/sys/dev/pci/drm/i915/gt/intel_engine_cs.c @@ -1122,10 +1122,10 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine) /* Waiting to drain ELSP? */ if (execlists_active(&engine->execlists)) { -#ifdef notyet +#ifdef __linux__ synchronize_hardirq(engine->i915->drm.pdev->irq); #else - STUB(); + intr_barrier(engine->i915->irqh); #endif intel_engine_flush_submission(engine); diff --git a/sys/dev/pci/drm/i915/i915_irq.c b/sys/dev/pci/drm/i915/i915_irq.c index 081c5baf281..e8f3905a90a 100644 --- a/sys/dev/pci/drm/i915/i915_irq.c +++ b/sys/dev/pci/drm/i915/i915_irq.c @@ -4172,5 +4172,9 @@ bool intel_irqs_enabled(struct drm_i915_private *dev_priv) void intel_synchronize_irq(struct drm_i915_private *i915) { +#ifdef __linux__ synchronize_irq(i915->drm.pdev->irq); +#else + intr_barrier(i915->irqh); +#endif } diff --git a/sys/dev/pci/drm/include/linux/hardirq.h b/sys/dev/pci/drm/include/linux/hardirq.h index 6144bb0dc32..094065e48ac 100644 --- a/sys/dev/pci/drm/include/linux/hardirq.h +++ b/sys/dev/pci/drm/include/linux/hardirq.h @@ -3,6 +3,4 @@ #ifndef _LINUX_HARDIRQ_H #define _LINUX_HARDIRQ_H -#define synchronize_irq(x) - #endif |