Revision: 5212
Author: pebender
Date: Tue Jul 21 20:41:48 2009
Log: - Added the Intel 2009Q2 graphics package patch to the 2.6.30 kernel.


http://code.google.com/p/minimyth/source/detail?r=5212

Added:
   
/trunk/gar-minimyth/script/kernel-2.6.30/linux/files/linux-2.6.30.2-intel_2009Q2_graphics_package.patch
Modified:
  /trunk/gar-minimyth/script/kernel-2.6.30/linux/Makefile
  /trunk/gar-minimyth/script/kernel-2.6.30/linux/checksums

=======================================
--- /dev/null
+++  
/trunk/gar-minimyth/script/kernel-2.6.30/linux/files/linux-2.6.30.2-intel_2009Q2_graphics_package.patch
  
Tue Jul 21 20:41:48 2009
@@ -0,0 +1,206 @@
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_dma.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_dma.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_dma.c 2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_dma.c 2009-07-21  
20:28:16.000000000 -0700
+@@ -1153,8 +1153,11 @@
+ #endif
+
+       dev->driver->get_vblank_counter = i915_get_vblank_counter;
+-      if (IS_GM45(dev))
++      dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */
++      if (IS_G4X(dev)) {
++              dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */
+               dev->driver->get_vblank_counter = gm45_get_vblank_counter;
++      }
+
+       i915_gem_load(dev);
+
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_drv.h  
linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_drv.h
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_drv.h 2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_drv.h 2009-07-21  
20:28:16.000000000 -0700
+@@ -285,6 +285,13 @@
+       u8 saveDACMASK;
+       u8 saveCR[37];
+       uint64_t saveFENCE[16];
++      u32 saveCURACNTR;
++      u32 saveCURAPOS;
++      u32 saveCURABASE;
++      u32 saveCURBCNTR;
++      u32 saveCURBPOS;
++      u32 saveCURBBASE;
++      u32 saveCURSIZE;
+
+       struct {
+               struct drm_mm gtt_space;
+@@ -642,6 +649,7 @@
+ void i915_gem_free_all_phys_object(struct drm_device *dev);
+ int i915_gem_object_get_pages(struct drm_gem_object *obj);
+ void i915_gem_object_put_pages(struct drm_gem_object *obj);
++void i915_gem_release(struct drm_device * dev, struct drm_file  
*file_priv);
+
+ /* i915_gem_tiling.c */
+ void i915_gem_detect_bit_6_swizzle(struct drm_device *dev);
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_gem.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_gem.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_gem.c 2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_gem.c 2009-07-21  
20:28:16.000000000 -0700
+@@ -4154,6 +4154,7 @@
+ void
+ i915_gem_load(struct drm_device *dev)
+ {
++      int i;
+       drm_i915_private_t *dev_priv = dev->dev_private;
+
+       spin_lock_init(&dev_priv->mm.active_list_lock);
+@@ -4173,6 +4174,18 @@
+       else
+               dev_priv->num_fence_regs = 8;
+
++      /* Initialize fence registers to zero */
++      if (IS_I965G(dev)) {
++              for (i = 0; i < 16; i++)
++                      I915_WRITE64(FENCE_REG_965_0 + (i * 8), 0);
++      } else {
++              for (i = 0; i < 8; i++)
++                      I915_WRITE(FENCE_REG_830_0 + (i * 4), 0);
++              if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev))
++                      for (i = 0; i < 8; i++)
++                              I915_WRITE(FENCE_REG_945_8 + (i * 4), 0);
++      }
++
+       i915_gem_detect_bit_6_swizzle(dev);
+ }
+
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_irq.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_irq.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_irq.c 2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_irq.c 2009-07-21  
20:28:16.000000000 -0700
+@@ -572,8 +572,6 @@
+
+       dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B;
+
+-      dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */
+-
+       /* Unmask the interrupts that we always want on. */
+       dev_priv->irq_mask_reg = ~I915_INTERRUPT_ENABLE_FIX;
+
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_suspend.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_suspend.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/i915_suspend.c     2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/i915_suspend.c     2009-07-21  
20:28:16.000000000 -0700
+@@ -295,6 +295,16 @@
+       i915_save_palette(dev, PIPE_B);
+       dev_priv->savePIPEBSTAT = I915_READ(PIPEBSTAT);
+
++      /* Cursor state */
++      dev_priv->saveCURACNTR = I915_READ(CURACNTR);
++      dev_priv->saveCURAPOS = I915_READ(CURAPOS);
++      dev_priv->saveCURABASE = I915_READ(CURABASE);
++      dev_priv->saveCURBCNTR = I915_READ(CURBCNTR);
++      dev_priv->saveCURBPOS = I915_READ(CURBPOS);
++      dev_priv->saveCURBBASE = I915_READ(CURBBASE);
++      if (!IS_I9XX(dev))
++              dev_priv->saveCURSIZE = I915_READ(CURSIZE);
++
+       /* CRT state */
+       dev_priv->saveADPA = I915_READ(ADPA);
+
+@@ -480,6 +490,16 @@
+       I915_WRITE(DSPBCNTR, dev_priv->saveDSPBCNTR);
+       I915_WRITE(DSPBADDR, I915_READ(DSPBADDR));
+
++      /* Cursor state */
++      I915_WRITE(CURAPOS, dev_priv->saveCURAPOS);
++      I915_WRITE(CURACNTR, dev_priv->saveCURACNTR);
++      I915_WRITE(CURABASE, dev_priv->saveCURABASE);
++      I915_WRITE(CURBPOS, dev_priv->saveCURBPOS);
++      I915_WRITE(CURBCNTR, dev_priv->saveCURBCNTR);
++      I915_WRITE(CURBBASE, dev_priv->saveCURBBASE);
++      if (!IS_I9XX(dev))
++              I915_WRITE(CURSIZE, dev_priv->saveCURSIZE);
++
+       /* CRT state */
+       I915_WRITE(ADPA, dev_priv->saveADPA);
+
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_bios.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_bios.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_bios.c       2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_bios.c       2009-07-21  
20:28:16.000000000 -0700
+@@ -185,10 +185,12 @@
+               dev_priv->lvds_use_ssc = general->enable_ssc;
+
+               if (dev_priv->lvds_use_ssc) {
+-                if (IS_I855(dev_priv->dev))
+-                  dev_priv->lvds_ssc_freq = general->ssc_freq ? 66 : 48;
+-                else
+-                  dev_priv->lvds_ssc_freq = general->ssc_freq ? 100 : 96;
++                      if (IS_I85X(dev_priv->dev))
++                              dev_priv->lvds_ssc_freq =
++                                      general->ssc_freq ? 66 : 48;
++                      else
++                              dev_priv->lvds_ssc_freq =
++                                      general->ssc_freq ? 100 : 96;
+               }
+       }
+ }
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_display.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_display.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_display.c    2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_display.c    2009-07-21  
20:28:16.000000000 -0700
+@@ -1590,6 +1590,7 @@
+       }
+
+       encoder->crtc = crtc;
++      intel_output->base.encoder = encoder;
+       intel_output->load_detect_temp = true;
+
+       intel_crtc = to_intel_crtc(crtc);
+@@ -1625,6 +1626,7 @@
+
+       if (intel_output->load_detect_temp) {
+               encoder->crtc = NULL;
++              intel_output->base.encoder = NULL;
+               intel_output->load_detect_temp = false;
+               crtc->enabled = drm_helper_crtc_in_use(crtc);
+               drm_helper_disable_unused_functions(dev);
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_fb.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_fb.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_fb.c 2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_fb.c 2009-07-21  
20:28:16.000000000 -0700
+@@ -857,9 +857,15 @@
+       drm_crtc_helper_set_config(&kernelfb_mode);
+ }
+
++static void intelfb_restore_work_fn(struct work_struct *ignored)
++{
++      intelfb_restore();
++}
++static DECLARE_WORK(intelfb_restore_work, intelfb_restore_work_fn);
++
+ static void intelfb_sysrq(int dummy1, struct tty_struct *dummy3)
+ {
+-        intelfb_restore();
++        schedule_work(&intelfb_restore_work);
+ }
+
+ static struct sysrq_key_op sysrq_intelfb_restore_op = {
+diff -Naur linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_lvds.c  
linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_lvds.c
+--- linux-2.6.30.2-old/drivers/gpu/drm/i915/intel_lvds.c       2009-07-19  
20:39:19.000000000 -0700
++++ linux-2.6.30.2-new/drivers/gpu/drm/i915/intel_lvds.c       2009-07-21  
20:28:16.000000000 -0700
+@@ -420,8 +420,21 @@
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Studio Hybrid 140g"),
+               },
+       },
+-
+-      /* FIXME: add a check for the Aopen Mini PC */
++      {
++              .callback = intel_no_lvds_dmi_callback,
++              .ident = "AOpen Mini PC",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "AOpen"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "i965GMx-IF"),
++              },
++      },
++      {
++              .callback = intel_no_lvds_dmi_callback,
++              .ident = "Aopen i945GTt-VFA",
++              .matches = {
++                      DMI_MATCH(DMI_PRODUCT_VERSION, "AO00001JW"),
++              },
++      },
+
+       { }     /* terminating entry */
+ };
=======================================
--- /trunk/gar-minimyth/script/kernel-2.6.30/linux/Makefile     Thu Jun 11  
16:41:27 2009
+++ /trunk/gar-minimyth/script/kernel-2.6.30/linux/Makefile     Tue Jul 21  
20:41:48 2009
@@ -8,6 +8,7 @@
  PATCHFILES  = $(DISTNAME)-perl.patch.gar
  PATCHFILES += $(DISTNAME)-bug_11154.patch
  PATCHFILES += $(DISTNAME)-bttv_lirc.patch
+PATCHFILES += $(DISTNAME)-intel_2009Q2_graphics_package.patch
  PATCHFILES += $(DISTNAME)-unionfs_2.5.2.patch
  PATCHFILES += $(DISTNAME)-disable_dma_for_cfa.patch
  PATCHFILES += $(DISTNAME)-defaults.patch
=======================================
--- /trunk/gar-minimyth/script/kernel-2.6.30/linux/checksums    Mon Jul 20  
13:31:25 2009
+++ /trunk/gar-minimyth/script/kernel-2.6.30/linux/checksums    Tue Jul 21  
20:41:48 2009
@@ -2,6 +2,7 @@
  7ec129086ef8964ff0a37feefa996829  download/linux-2.6.30.2-perl.patch.gar
  c69dcdd7b99e8bcd9e75c46d408044e5  download/linux-2.6.30.2-bug_11154.patch
  4fdceab0d54af9a40aea46e7352d0d45  download/linux-2.6.30.2-bttv_lirc.patch
+e75717da640a1eb68159b947a6842971   
download/linux-2.6.30.2-intel_2009Q2_graphics_package.patch
  5cafd0842e399128d7cf980ae655bb6c   
download/linux-2.6.30.2-unionfs_2.5.2.patch
  63d6f907b5f0dd57e7d782a68d7554b6   
download/linux-2.6.30.2-disable_dma_for_cfa.patch
  f26317aef0ffb5ff4fc91594b1119fac  download/linux-2.6.30.2-defaults.patch

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"minimyth-commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/minimyth-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to