From: Greg Kroah-Hartman Date: Fri, 29 Jan 2010 20:47:53 +0000 (-0800) Subject: delete another .32 patch X-Git-Tag: v2.6.32.8~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=87f3fe62c2329d78704451536ce322a9d57aec52;p=thirdparty%2Fkernel%2Fstable-queue.git delete another .32 patch --- diff --git a/queue-2.6.32/drm-i915-add-acpi-opregion-support-for-ironlake.patch b/queue-2.6.32/drm-i915-add-acpi-opregion-support-for-ironlake.patch deleted file mode 100644 index 2f059a4c7d6..00000000000 --- a/queue-2.6.32/drm-i915-add-acpi-opregion-support-for-ironlake.patch +++ /dev/null @@ -1,213 +0,0 @@ -From sconklin@canonical.com Fri Jan 29 11:11:00 2010 -From: Steve Conklin -Date: Fri, 29 Jan 2010 12:55:46 -0600 -Subject: drm/i915: Add ACPI OpRegion support for Ironlake -To: stable@kernel.org -Cc: Zhao Yakui , Eric Anholt , Steve Conklin , Zhenyu Wang -Message-ID: <1264791346-8113-1-git-send-email-sconklin@canonical.com> - - -commit 01c66889c14aa163c49355b3be2ccfb214500599 upstream - -Add the support of ACPI opregion on Ironlake so that the backlight -brightness can be adjusted by using ACPI interface - >/sys/class/backlight/acpi_video0/brightness - -Signed-off-by: Zhao Yakui -Signed-off-by: Zhenyu Wang -Signed-off-by: Eric Anholt -Signed-off-by: Steve Conklin -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/i915/i915_dma.c | 7 --- - drivers/gpu/drm/i915/i915_drv.h | 3 + - drivers/gpu/drm/i915/i915_irq.c | 19 ++++++++ - drivers/gpu/drm/i915/i915_opregion.c | 74 ++++++++++++++++++++++++++++++++++- - 4 files changed, 95 insertions(+), 8 deletions(-) - ---- a/drivers/gpu/drm/i915/i915_dma.c -+++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1490,9 +1490,7 @@ int i915_driver_load(struct drm_device * - } - - /* Must be done after probing outputs */ -- /* FIXME: verify on IGDNG */ -- if (!IS_IGDNG(dev)) -- intel_opregion_init(dev, 0); -+ intel_opregion_init(dev, 0); - - setup_timer(&dev_priv->hangcheck_timer, i915_hangcheck_elapsed, - (unsigned long) dev); -@@ -1536,8 +1534,7 @@ int i915_driver_unload(struct drm_device - if (dev_priv->regs != NULL) - iounmap(dev_priv->regs); - -- if (!IS_IGDNG(dev)) -- intel_opregion_free(dev, 0); -+ intel_opregion_free(dev, 0); - - if (drm_core_check_feature(dev, DRIVER_MODESET)) { - intel_modeset_cleanup(dev); ---- a/drivers/gpu/drm/i915/i915_drv.h -+++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -739,6 +739,7 @@ i915_enable_pipestat(drm_i915_private_t - void - i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); - -+void intel_enable_asle (struct drm_device *dev); - - /* i915_mem.c */ - extern int i915_mem_alloc(struct drm_device *dev, void *data, -@@ -864,11 +865,13 @@ extern int i915_restore_state(struct drm - extern int intel_opregion_init(struct drm_device *dev, int resume); - extern void intel_opregion_free(struct drm_device *dev, int suspend); - extern void opregion_asle_intr(struct drm_device *dev); -+extern void ironlake_opregion_gse_intr(struct drm_device *dev); - extern void opregion_enable_asle(struct drm_device *dev); - #else - static inline int intel_opregion_init(struct drm_device *dev, int resume) { return 0; } - static inline void intel_opregion_free(struct drm_device *dev, int suspend) { return; } - static inline void opregion_asle_intr(struct drm_device *dev) { return; } -+static inline void ironlake_opregion_gse_intr(struct drm_device *dev) { return; } - static inline void opregion_enable_asle(struct drm_device *dev) { return; } - #endif - ---- a/drivers/gpu/drm/i915/i915_irq.c -+++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -157,6 +157,20 @@ i915_disable_pipestat(drm_i915_private_t - } - - /** -+ * intel_enable_asle - enable ASLE interrupt for OpRegion -+ */ -+void intel_enable_asle (struct drm_device *dev) -+{ -+ drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; -+ -+ if (IS_IGDNG(dev)) -+ igdng_enable_display_irq(dev_priv, DE_GSE); -+ else -+ i915_enable_pipestat(dev_priv, 1, -+ I915_LEGACY_BLC_EVENT_ENABLE); -+} -+ -+/** - * i915_pipe_enabled - check if a pipe is enabled - * @dev: DRM device - * @pipe: pipe to check -@@ -286,6 +300,9 @@ irqreturn_t igdng_irq_handler(struct drm - mod_timer(&dev_priv->hangcheck_timer, jiffies + DRM_I915_HANGCHECK_PERIOD); - } - -+ if (de_iir & DE_GSE) -+ ironlake_opregion_gse_intr(dev); -+ - I915_WRITE(GTIIR, gt_iir); - I915_WRITE(DEIIR, de_iir); - -@@ -993,7 +1010,7 @@ static int igdng_irq_postinstall(struct - { - drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; - /* enable kind of interrupts always enabled */ -- u32 display_mask = DE_MASTER_IRQ_CONTROL /*| DE_PCH_EVENT */; -+ u32 display_mask = DE_MASTER_IRQ_CONTROL | DE_GSE /*| DE_PCH_EVENT */; - u32 render_mask = GT_USER_INTERRUPT; - - dev_priv->irq_mask_reg = ~display_mask; ---- a/drivers/gpu/drm/i915/i915_opregion.c -+++ b/drivers/gpu/drm/i915/i915_opregion.c -@@ -118,6 +118,10 @@ struct opregion_asle { - #define ASLE_BACKLIGHT_FAIL (2<<12) - #define ASLE_PFIT_FAIL (2<<14) - #define ASLE_PWM_FREQ_FAIL (2<<16) -+#define ASLE_ALS_ILLUM_FAILED (1<<10) -+#define ASLE_BACKLIGHT_FAILED (1<<12) -+#define ASLE_PFIT_FAILED (1<<14) -+#define ASLE_PWM_FREQ_FAILED (1<<16) - - /* ASLE backlight brightness to set */ - #define ASLE_BCLP_VALID (1<<31) -@@ -243,6 +247,73 @@ void opregion_asle_intr(struct drm_devic - asle->aslc = asle_stat; - } - -+static u32 asle_set_backlight_ironlake(struct drm_device *dev, u32 bclp) -+{ -+ struct drm_i915_private *dev_priv = dev->dev_private; -+ struct opregion_asle *asle = dev_priv->opregion.asle; -+ u32 cpu_pwm_ctl, pch_pwm_ctl2; -+ u32 max_backlight, level; -+ -+ if (!(bclp & ASLE_BCLP_VALID)) -+ return ASLE_BACKLIGHT_FAILED; -+ -+ bclp &= ASLE_BCLP_MSK; -+ if (bclp < 0 || bclp > 255) -+ return ASLE_BACKLIGHT_FAILED; -+ -+ cpu_pwm_ctl = I915_READ(BLC_PWM_CPU_CTL); -+ pch_pwm_ctl2 = I915_READ(BLC_PWM_PCH_CTL2); -+ /* get the max PWM frequency */ -+ max_backlight = (pch_pwm_ctl2 >> 16) & BACKLIGHT_DUTY_CYCLE_MASK; -+ /* calculate the expected PMW frequency */ -+ level = (bclp * max_backlight) / 255; -+ /* reserve the high 16 bits */ -+ cpu_pwm_ctl &= ~(BACKLIGHT_DUTY_CYCLE_MASK); -+ /* write the updated PWM frequency */ -+ I915_WRITE(BLC_PWM_CPU_CTL, cpu_pwm_ctl | level); -+ -+ asle->cblv = (bclp*0x64)/0xff | ASLE_CBLV_VALID; -+ -+ return 0; -+} -+ -+void ironlake_opregion_gse_intr(struct drm_device *dev) -+{ -+ struct drm_i915_private *dev_priv = dev->dev_private; -+ struct opregion_asle *asle = dev_priv->opregion.asle; -+ u32 asle_stat = 0; -+ u32 asle_req; -+ -+ if (!asle) -+ return; -+ -+ asle_req = asle->aslc & ASLE_REQ_MSK; -+ -+ if (!asle_req) { -+ DRM_DEBUG_DRIVER("non asle set request??\n"); -+ return; -+ } -+ -+ if (asle_req & ASLE_SET_ALS_ILLUM) { -+ DRM_DEBUG_DRIVER("Illum is not supported\n"); -+ asle_stat |= ASLE_ALS_ILLUM_FAILED; -+ } -+ -+ if (asle_req & ASLE_SET_BACKLIGHT) -+ asle_stat |= asle_set_backlight_ironlake(dev, asle->bclp); -+ -+ if (asle_req & ASLE_SET_PFIT) { -+ DRM_DEBUG_DRIVER("Pfit is not supported\n"); -+ asle_stat |= ASLE_PFIT_FAILED; -+ } -+ -+ if (asle_req & ASLE_SET_PWM_FREQ) { -+ DRM_DEBUG_DRIVER("PWM freq is not supported\n"); -+ asle_stat |= ASLE_PWM_FREQ_FAILED; -+ } -+ -+ asle->aslc = asle_stat; -+} - #define ASLE_ALS_EN (1<<0) - #define ASLE_BLC_EN (1<<1) - #define ASLE_PFIT_EN (1<<2) -@@ -258,8 +329,7 @@ void opregion_enable_asle(struct drm_dev - unsigned long irqflags; - - spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); -- i915_enable_pipestat(dev_priv, 1, -- I915_LEGACY_BLC_EVENT_ENABLE); -+ intel_enable_asle(dev); - spin_unlock_irqrestore(&dev_priv->user_irq_lock, - irqflags); - } diff --git a/queue-2.6.32/series b/queue-2.6.32/series index 8bb7ac82777..c61e179b7bd 100644 --- a/queue-2.6.32/series +++ b/queue-2.6.32/series @@ -18,7 +18,6 @@ e1000-enhance-frame-fragment-detection.patch e1000e-enhance-frame-fragment-detection.patch e1000-e1000e-don-t-use-small-hardware-rx-buffers.patch drm-i915-reload-hangcheck-timer-too-for-ironlake.patch -drm-i915-add-acpi-opregion-support-for-ironlake.patch fix-a-leak-in-affs_fill_super.patch fix-failure-exits-in-bfs_fill_super.patch fix-oops-in-fs-9p-late-mount-failure.patch