Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12fabbcb authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter
Browse files

drm/i915: Set AGPBUSY# bit in init_clock_gating



I don't see why we wouldn't want interrupts to wake up the CPU from C3
always, so just set the AGPBUSY# bit in gen3_init_clock_gating().

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 4dfbd12c
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -2628,10 +2628,6 @@ static int i915_enable_vblank(struct drm_device *dev, int pipe)
	else
		i915_enable_pipestat(dev_priv, pipe,
				     PIPE_VBLANK_INTERRUPT_STATUS);

	/* maintain vblank delivery even in deep C-states */
	if (INTEL_INFO(dev)->gen == 3)
		I915_WRITE(INSTPM, _MASKED_BIT_DISABLE(INSTPM_AGPBUSY_DIS));
	spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);

	return 0;
@@ -2695,9 +2691,6 @@ static void i915_disable_vblank(struct drm_device *dev, int pipe)
	unsigned long irqflags;

	spin_lock_irqsave(&dev_priv->irq_lock, irqflags);
	if (INTEL_INFO(dev)->gen == 3)
		I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_AGPBUSY_DIS));

	i915_disable_pipestat(dev_priv, pipe,
			      PIPE_VBLANK_INTERRUPT_STATUS |
			      PIPE_START_VBLANK_INTERRUPT_STATUS);
+3 −0
Original line number Diff line number Diff line
@@ -5504,6 +5504,9 @@ static void gen3_init_clock_gating(struct drm_device *dev)

	/* IIR "flip pending" means done if this bit is set */
	I915_WRITE(ECOSKPD, _MASKED_BIT_DISABLE(ECO_FLIP_DONE));

	/* interrupts should cause a wake up from C3 */
	I915_WRITE(INSTPM, _MASKED_BIT_DISABLE(INSTPM_AGPBUSY_DIS));
}

static void i85x_init_clock_gating(struct drm_device *dev)