rpms/kernel/devel drm-intel-next.patch, 1.8, 1.9 kernel.spec, 1.1712, 1.1713

Adam Jackson ajax at fedoraproject.org
Wed Aug 12 15:58:26 UTC 2009


Author: ajax

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20330

Modified Files:
	drm-intel-next.patch kernel.spec 
Log Message:
* Wed Aug 12 2009 Adam Jackson <ajax at redhat.com>
- Update drm-intel-next patch


drm-intel-next.patch:
 i915_dma.c         |   15 -
 i915_drv.h         |    4 
 i915_gem.c         |    4 
 i915_gem_debugfs.c |    2 
 i915_irq.c         |  235 +++++++++++-----
 i915_reg.h         |   45 +++
 i915_suspend.c     |    2 
 intel_bios.c       |   40 ++
 intel_bios.h       |   45 +++
 intel_crt.c        |   12 
 intel_display.c    |  759 +++++++++++++++++++++++++++++++++++------------------
 intel_dp.c         |  216 +++++++++++++--
 intel_drv.h        |    3 
 intel_hdmi.c       |   64 ----
 intel_lvds.c       |   12 
 intel_sdvo.c       |  254 ++++++++++++-----
 intel_tv.c         |   22 +
 17 files changed, 1221 insertions(+), 513 deletions(-)

Index: drm-intel-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-intel-next.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- drm-intel-next.patch	3 Aug 2009 18:24:04 -0000	1.8
+++ drm-intel-next.patch	12 Aug 2009 15:58:25 -0000	1.9
@@ -1,5 +1,59 @@
+diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
+index 8c47831..50d1f78 100644
+--- a/drivers/gpu/drm/i915/i915_dma.c
++++ b/drivers/gpu/drm/i915/i915_dma.c
+@@ -1186,6 +1186,13 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 	if (ret)
+ 		goto out_iomapfree;
+ 
++	dev_priv->wq = create_workqueue("i915");
++	if (dev_priv->wq == NULL) {
++		DRM_ERROR("Failed to create our workqueue.\n");
++		ret = -ENOMEM;
++		goto out_iomapfree;
++	}
++
+ 	/* enable GEM by default */
+ 	dev_priv->has_gem = 1;
+ 
+@@ -1211,7 +1218,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 	if (!I915_NEED_GFX_HWS(dev)) {
+ 		ret = i915_init_phys_hws(dev);
+ 		if (ret != 0)
+-			goto out_iomapfree;
++			goto out_workqueue_free;
+ 	}
+ 
+ 	i915_get_mem_freq(dev);
+@@ -1245,7 +1252,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 		ret = i915_load_modeset_init(dev, prealloc_size, agp_size);
+ 		if (ret < 0) {
+ 			DRM_ERROR("failed to init modeset\n");
+-			goto out_rmmap;
++			goto out_workqueue_free;
+ 		}
+ 	}
+ 
+@@ -1256,6 +1263,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 
+ 	return 0;
+ 
++out_workqueue_free:
++	destroy_workqueue(dev_priv->wq);
+ out_iomapfree:
+ 	io_mapping_free(dev_priv->mm.gtt_mapping);
+ out_rmmap:
+@@ -1269,6 +1278,8 @@ int i915_driver_unload(struct drm_device *dev)
+ {
+ 	struct drm_i915_private *dev_priv = dev->dev_private;
+ 
++	destroy_workqueue(dev_priv->wq);
++
+ 	io_mapping_free(dev_priv->mm.gtt_mapping);
+ 	if (dev_priv->mm.gtt_mtrr >= 0) {
+ 		mtrr_del(dev_priv->mm.gtt_mtrr, dev->agp->base,
 diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index d087528..5f3a259 100644
+index d087528..7537f57 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -219,6 +219,7 @@ typedef struct drm_i915_private {
@@ -10,15 +64,16 @@ index d087528..5f3a259 100644
  	int lvds_ssc_freq;
  
  	struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */
-@@ -229,6 +230,7 @@ typedef struct drm_i915_private {
+@@ -229,6 +230,8 @@ typedef struct drm_i915_private {
  
  	spinlock_t error_lock;
  	struct drm_i915_error_state *first_error;
 +	struct work_struct error_work;
++	struct workqueue_struct *wq;
  
  	/* Register state */
  	u8 saveLBB;
-@@ -888,6 +890,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
+@@ -888,6 +891,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
  						      IS_I915GM(dev)))
  #define SUPPORTS_INTEGRATED_HDMI(dev)	(IS_G4X(dev) || IS_IGDNG(dev))
  #define SUPPORTS_INTEGRATED_DP(dev)	(IS_G4X(dev) || IS_IGDNG(dev))
@@ -26,6 +81,28 @@ index d087528..5f3a259 100644
  #define I915_HAS_HOTPLUG(dev) (IS_I945G(dev) || IS_I945GM(dev) || IS_I965G(dev))
  /* dsparb controlled by hw only */
  #define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IGDNG(dev))
+diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
+index 5bf4203..140bee1 100644
+--- a/drivers/gpu/drm/i915/i915_gem.c
++++ b/drivers/gpu/drm/i915/i915_gem.c
+@@ -1570,7 +1570,7 @@ i915_add_request(struct drm_device *dev, struct drm_file *file_priv,
+ 	}
+ 
+ 	if (was_empty && !dev_priv->mm.suspended)
+-		schedule_delayed_work(&dev_priv->mm.retire_work, HZ);
++		queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, HZ);
+ 	return seqno;
+ }
+ 
+@@ -1719,7 +1719,7 @@ i915_gem_retire_work_handler(struct work_struct *work)
+ 	i915_gem_retire_requests(dev);
+ 	if (!dev_priv->mm.suspended &&
+ 	    !list_empty(&dev_priv->mm.request_list))
+-		schedule_delayed_work(&dev_priv->mm.retire_work, HZ);
++		queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, HZ);
+ 	mutex_unlock(&dev->struct_mutex);
+ }
+ 
 diff --git a/drivers/gpu/drm/i915/i915_gem_debugfs.c b/drivers/gpu/drm/i915/i915_gem_debugfs.c
 index 9a44bfc..cb3b974 100644
 --- a/drivers/gpu/drm/i915/i915_gem_debugfs.c
@@ -40,7 +117,7 @@ index 9a44bfc..cb3b974 100644
  	seq_printf(m, "  PGTBL_ER: 0x%08x\n", error->pgtbl_er);
  	seq_printf(m, "  INSTPM: 0x%08x\n", error->instpm);
 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 7ba23a6..f340b3f 100644
+index 7ba23a6..83aee80 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -290,6 +290,35 @@ irqreturn_t igdng_irq_handler(struct drm_device *dev)
@@ -211,7 +288,7 @@ index 7ba23a6..f340b3f 100644
 +		I915_WRITE(IIR, I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +	}
 +
-+	schedule_work(&dev_priv->error_work);
++	queue_work(dev_priv->wq, &dev_priv->error_work);
 +}
 +
  irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
@@ -227,7 +304,15 @@ index 7ba23a6..f340b3f 100644
  		/*
  		 * Clear the PIPE(A|B)STAT regs before the IIR
  		 */
-@@ -409,80 +566,6 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
+@@ -403,86 +560,13 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
+ 			DRM_DEBUG("hotplug event received, stat 0x%08x\n",
+ 				  hotplug_status);
+ 			if (hotplug_status & dev_priv->hotplug_supported_mask)
+-				schedule_work(&dev_priv->hotplug_work);
++				queue_work(dev_priv->wq,
++					   &dev_priv->hotplug_work);
+ 
+ 			I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status);
  			I915_READ(PORT_HOTPLUG_STAT);
  		}
  
@@ -308,7 +393,7 @@ index 7ba23a6..f340b3f 100644
  		I915_WRITE(IIR, iir);
  		new_iir = I915_READ(IIR); /* Flush posted writes */
  
-@@ -830,6 +913,7 @@ void i915_driver_irq_preinstall(struct drm_device * dev)
+@@ -830,6 +914,7 @@ void i915_driver_irq_preinstall(struct drm_device * dev)
  	atomic_set(&dev_priv->irq_received, 0);
  
  	INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
@@ -412,6 +497,19 @@ index 6c08584..2955083 100644
 +#define PCH_DPD_AUX_CH_DATA5	0xe4324
 +
  #endif /* _I915_REG_H_ */
+diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
+index 9e1d16e..1d04e19 100644
+--- a/drivers/gpu/drm/i915/i915_suspend.c
++++ b/drivers/gpu/drm/i915/i915_suspend.c
+@@ -598,7 +598,7 @@ int i915_restore_state(struct drm_device *dev)
+ 
+ 	for (i = 0; i < 16; i++) {
+ 		I915_WRITE(SWF00 + (i << 2), dev_priv->saveSWF0[i]);
+-		I915_WRITE(SWF10 + (i << 2), dev_priv->saveSWF1[i+7]);
++		I915_WRITE(SWF10 + (i << 2), dev_priv->saveSWF1[i]);
+ 	}
+ 	for (i = 0; i < 3; i++)
+ 		I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]);
 diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
 index 7cc4471..300aee3 100644
 --- a/drivers/gpu/drm/i915/intel_bios.c


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1712
retrieving revision 1.1713
diff -u -p -r1.1712 -r1.1713
--- kernel.spec	12 Aug 2009 02:27:23 -0000	1.1712
+++ kernel.spec	12 Aug 2009 15:58:25 -0000	1.1713
@@ -681,7 +681,7 @@ Patch1814: drm-nouveau.patch
 Patch1818: drm-i915-resume-force-mode.patch
 Patch1819: drm-intel-big-hammer.patch
 Patch1821: drm-page-flip.patch
-# anholt's tree as of 2009-08-03
+# anholt's tree as of 2009-08-12
 Patch1824: drm-intel-next.patch
 Patch1825: drm-intel-pm.patch
 Patch1826: drm-r600-kms.patch
@@ -1980,6 +1980,9 @@ fi
 # and build.
 
 %changelog
+* Wed Aug 12 2009 Adam Jackson <ajax at redhat.com>
+- Update drm-intel-next patch
+
 * Tue Aug 11 2009 Dennis Gilmore <dennis at ausil.us> - 2.6.31-0.149.rc5.git3
 - disable building the -smp kernel on sparc64
 - disable building kernel-perf on sparc64 syscalls not supported




More information about the fedora-extras-commits mailing list