i915 vsync interrupt fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I need this patch from Alan Hourihane <mailto:[email protected]> to make direct rendering work properly on my 945GM-based laptop. It comes from https://bugs.freedesktop.org/show_bug.cgi?id=7233. This change is immediately useful to me now, but I don't know if the development DRM is going to be merged with the kernel any time soon (I notice CVS has a variant of this patch).

   J
/

/

From: Alan Hourihane <[email protected]>

Look at vsync interrupts from pipe B as well as A.
https://bugs.freedesktop.org/show_bug.cgi?id=7233


diff -r 91a715ea44db drivers/char/drm/i915_irq.c
--- a/drivers/char/drm/i915_irq.c	Thu Jun 22 19:09:11 2006 -0700
+++ b/drivers/char/drm/i915_irq.c	Fri Jun 23 14:08:08 2006 -0700
@@ -44,7 +44,7 @@ irqreturn_t i915_driver_irq_handler(DRM_
	u16 temp;

	temp = I915_READ16(I915REG_INT_IDENTITY_R);
-	temp &= (USER_INT_FLAG | VSYNC_PIPEA_FLAG);
+	temp &= (USER_INT_FLAG | VSYNC_PIPEA_FLAG | VSYNC_PIPEB_FLAG);

	DRM_DEBUG("%s flag=%08x\n", __FUNCTION__, temp);

@@ -58,7 +58,7 @@ irqreturn_t i915_driver_irq_handler(DRM_
	if (temp & USER_INT_FLAG)
		DRM_WAKEUP(&dev_priv->irq_queue);

-	if (temp & VSYNC_PIPEA_FLAG) {
+	if (temp & (VSYNC_PIPEA_FLAG | VSYNC_PIPEB_FLAG)) {
		atomic_inc(&dev->vbl_received);
		DRM_WAKEUP(&dev->vbl_queue);
		drm_vbl_send_signals(dev);
@@ -197,7 +197,7 @@ void i915_driver_irq_postinstall(drm_dev
{
	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;

-	I915_WRITE16(I915REG_INT_ENABLE_R, USER_INT_FLAG | VSYNC_PIPEA_FLAG);
+	I915_WRITE16(I915REG_INT_ENABLE_R, USER_INT_FLAG | VSYNC_PIPEA_FLAG | VSYNC_PIPEB_FLAG);
	DRM_INIT_WAITQUEUE(&dev_priv->irq_queue);
}



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux