diff options
-rw-r--r-- | sys/dev/pci/drm/i915/intel_lvds.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915/intel_overlay.c | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/pci/drm/i915/intel_lvds.c b/sys/dev/pci/drm/i915/intel_lvds.c index 243b0840d8c..bcc38e293f2 100644 --- a/sys/dev/pci/drm/i915/intel_lvds.c +++ b/sys/dev/pci/drm/i915/intel_lvds.c @@ -586,9 +586,9 @@ intel_lid_notify(struct notifier_block *nb, unsigned long val, dev_priv->modeset_on_lid = 0; - mtx_enter(&dev->mode_config.mutex); + rw_enter_write(&dev->mode_config.rwl); intel_modeset_setup_hw_state(dev, true); - mtx_leave(&dev->mode_config.mutex); + rw_exit_write(&dev->mode_config.rwl); return NOTIFY_OK; } diff --git a/sys/dev/pci/drm/i915/intel_overlay.c b/sys/dev/pci/drm/i915/intel_overlay.c index d20ec9165df..63a1179c07d 100644 --- a/sys/dev/pci/drm/i915/intel_overlay.c +++ b/sys/dev/pci/drm/i915/intel_overlay.c @@ -756,13 +756,13 @@ intel_overlay_do_put_image(struct intel_overlay *overlay, int ret, tmp_width; struct overlay_registers *regs; bool scale_changed = false; -// struct drm_device *dev = overlay->dev; + struct drm_device *dev = overlay->dev; u32 swidth, swidthsw, sheight, ostride; #ifdef notyet BUG_ON(!mutex_is_locked(&dev->struct_mutex)); - BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); #endif + rw_assert_wrlock(&dev->mode_config.rwl); BUG_ON(!overlay); ret = intel_overlay_release_old_vid(overlay); @@ -864,13 +864,13 @@ int intel_overlay_switch_off(struct intel_overlay *overlay) { struct overlay_registers *regs; -// struct drm_device *dev = overlay->dev; + struct drm_device *dev = overlay->dev; int ret; #ifdef notyet BUG_ON(!mutex_is_locked(&dev->struct_mutex)); - BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); #endif + rw_assert_wrlock(&dev->mode_config.rwl); ret = intel_overlay_recover_from_interrupt(overlay); if (ret != 0) |