Procházet zdrojové kódy

drm/i915: protect ringbuffer sarea update behind !MODESET

Avoids surprises when userspace races open/closes against this.

Cc: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter před 11 roky
rodič
revize
fb19e2ac7c
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 1
      drivers/gpu/drm/i915/intel_ringbuffer.c

+ 2 - 1
drivers/gpu/drm/i915/intel_ringbuffer.c

@@ -1513,7 +1513,8 @@ static int ring_wait_for_space(struct intel_ring_buffer *ring, int n)
 			return 0;
 		}
 
-		if (dev->primary->master) {
+		if (!drm_core_check_feature(dev, DRIVER_MODESET) &&
+		    dev->primary->master) {
 			struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
 			if (master_priv->sarea_priv)
 				master_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT;