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 -~----------~----~----~----~------~----~------~--~---
