rpms/kernel/F-13 drm-intel-next.patch, 1.12, 1.13 kernel.spec, 1.2020, 1.2021

Adam Jackson ajax at fedoraproject.org
Thu May 6 17:25:22 UTC 2010


Author: ajax

Update of /cvs/pkgs/rpms/kernel/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv1979

Modified Files:
	drm-intel-next.patch kernel.spec 
Log Message:
* Thu May 06 2010 Adam Jackson <ajax at redhat.com> 2.6.33.3-85
- drm-intel-next: Enable the display even harder (#587171)


drm-intel-next.patch:
 drivers/char/agp/intel-agp.c           |  154 +++
 drivers/gpu/drm/i915/dvo.h             |   10 
 drivers/gpu/drm/i915/dvo_ch7017.c      |   46 -
 drivers/gpu/drm/i915/dvo_ch7xxx.c      |   44 -
 drivers/gpu/drm/i915/dvo_ivch.c        |   21 
 drivers/gpu/drm/i915/dvo_sil164.c      |   38 
 drivers/gpu/drm/i915/dvo_tfp410.c      |   32 
 drivers/gpu/drm/i915/i915_debugfs.c    |  255 +++++
 drivers/gpu/drm/i915/i915_dma.c        |  341 ++++++-
 drivers/gpu/drm/i915/i915_drv.c        |   63 +
 drivers/gpu/drm/i915/i915_drv.h        |   91 +-
 drivers/gpu/drm/i915/i915_gem.c        |  558 ++++++------
 drivers/gpu/drm/i915/i915_gem_debug.c  |    4 
 drivers/gpu/drm/i915/i915_gem_tiling.c |  204 ----
 drivers/gpu/drm/i915/i915_irq.c        |  334 +++++++
 drivers/gpu/drm/i915/i915_opregion.c   |   54 +
 drivers/gpu/drm/i915/i915_reg.h        |  324 +++++++
 drivers/gpu/drm/i915/i915_suspend.c    |   51 -
 drivers/gpu/drm/i915/i915_trace.h      |   86 -
 drivers/gpu/drm/i915/intel_bios.c      |    8 
 drivers/gpu/drm/i915/intel_crt.c       |  136 +--
 drivers/gpu/drm/i915/intel_display.c   | 1238 ++++++++++++++++++++--------
 drivers/gpu/drm/i915/intel_dp.c        |  444 +++++-----
 drivers/gpu/drm/i915/intel_drv.h       |   32 
 drivers/gpu/drm/i915/intel_dvo.c       |  155 +--
 drivers/gpu/drm/i915/intel_fb.c        |    2 
 drivers/gpu/drm/i915/intel_hdmi.c      |  130 +-
 drivers/gpu/drm/i915/intel_i2c.c       |    2 
 drivers/gpu/drm/i915/intel_lvds.c      |  250 +----
 drivers/gpu/drm/i915/intel_modes.c     |   25 
 drivers/gpu/drm/i915/intel_overlay.c   |   35 
 drivers/gpu/drm/i915/intel_sdvo.c      | 1438 ++++++++++++++++-----------------
 drivers/gpu/drm/i915/intel_tv.c        |  245 +----
 include/drm/drm_pciids.h               |    1 
 34 files changed, 4122 insertions(+), 2729 deletions(-)

Index: drm-intel-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-13/drm-intel-next.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- drm-intel-next.patch	19 Apr 2010 21:31:12 -0000	1.12
+++ drm-intel-next.patch	6 May 2010 17:25:20 -0000	1.13
@@ -1284,19 +1284,6 @@ Date:   Thu Apr 8 21:41:59 2010 +0200
     Signed-off-by: Luca Tettamanti <kronos.it at gmail.com>
     Signed-off-by: Eric Anholt <eric at anholt.net>
 
-commit c23a54cbd0544b220fbda723ebee77d0708da9ab
-Author: Carl Worth <cworth at cworth.org>
-Date:   Thu Apr 8 23:31:57 2010 -0700
-
-    drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on).
-    
-    The existing code handling the DPMS ON event is much more careful to
-    ensure that these registers are enabled according to strict sequencing
-    requirements. Enabling these early in mode_set simply defeats that.
-    
-    Signed-off-by: Carl Worth <cworth at cworth.org>
-    Signed-off-by: Eric Anholt <eric at anholt.net>
-
 commit 52eacfb9897f9a36cc93b587c57b922b8507d900
 Author: Zhao Yakui <yakui.zhao at intel.com>
 Date:   Tue Mar 30 15:11:33 2010 +0800
@@ -1691,7 +1678,6 @@ index 3999a5f..64f8397 100644
  };
  
 diff --git a/drivers/gpu/drm/i915/dvo.h b/drivers/gpu/drm/i915/dvo.h
-index 288fc50..0d6ff64 100644
 --- a/drivers/gpu/drm/i915/dvo.h
 +++ b/drivers/gpu/drm/i915/dvo.h
 @@ -70,16 +70,6 @@ struct intel_dvo_dev_ops {
@@ -1712,7 +1698,6 @@ index 288fc50..0d6ff64 100644
  	 *
  	 * This function should only check for cases where a mode can't
 diff --git a/drivers/gpu/drm/i915/dvo_ch7017.c b/drivers/gpu/drm/i915/dvo_ch7017.c
-index 1184c14..14d5980 100644
 --- a/drivers/gpu/drm/i915/dvo_ch7017.c
 +++ b/drivers/gpu/drm/i915/dvo_ch7017.c
 @@ -159,16 +159,7 @@
@@ -1782,7 +1767,6 @@ index 1184c14..14d5980 100644
  	.destroy = ch7017_destroy,
  };
 diff --git a/drivers/gpu/drm/i915/dvo_ch7xxx.c b/drivers/gpu/drm/i915/dvo_ch7xxx.c
-index d56ff5c..6f1944b 100644
 --- a/drivers/gpu/drm/i915/dvo_ch7xxx.c
 +++ b/drivers/gpu/drm/i915/dvo_ch7xxx.c
 @@ -92,21 +92,10 @@ static struct ch7xxx_id_struct {
@@ -1862,7 +1846,6 @@ index d56ff5c..6f1944b 100644
  	.destroy = ch7xxx_destroy,
  };
 diff --git a/drivers/gpu/drm/i915/dvo_ivch.c b/drivers/gpu/drm/i915/dvo_ivch.c
-index 24169e5..a2ec3f4 100644
 --- a/drivers/gpu/drm/i915/dvo_ivch.c
 +++ b/drivers/gpu/drm/i915/dvo_ivch.c
 @@ -153,9 +153,6 @@ struct ivch_priv {
@@ -1908,7 +1891,6 @@ index 24169e5..a2ec3f4 100644
  	.mode_set = ivch_mode_set,
  	.detect = ivch_detect,
 diff --git a/drivers/gpu/drm/i915/dvo_sil164.c b/drivers/gpu/drm/i915/dvo_sil164.c
-index 0001c13..9b8e676 100644
 --- a/drivers/gpu/drm/i915/dvo_sil164.c
 +++ b/drivers/gpu/drm/i915/dvo_sil164.c
 @@ -58,17 +58,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1973,7 +1955,6 @@ index 0001c13..9b8e676 100644
  	.destroy = sil164_destroy,
  };
 diff --git a/drivers/gpu/drm/i915/dvo_tfp410.c b/drivers/gpu/drm/i915/dvo_tfp410.c
-index c7c391b..66c697b 100644
 --- a/drivers/gpu/drm/i915/dvo_tfp410.c
 +++ b/drivers/gpu/drm/i915/dvo_tfp410.c
 @@ -86,16 +86,8 @@
@@ -2031,7 +2012,6 @@ index c7c391b..66c697b 100644
  	.destroy = tfp410_destroy,
  };
 diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index a894ade..bb3a4a8 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
 @@ -162,7 +162,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
@@ -2346,7 +2326,6 @@ index a894ade..bb3a4a8 100644
  #define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list)
  
 diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 2307f98..053c2c4 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -35,6 +35,8 @@
@@ -2792,7 +2771,6 @@ index 2307f98..053c2c4 100644
  
  int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls);
 diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index cf4cb3e..cc8927e 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
 @@ -49,6 +49,7 @@ unsigned int i915_lvds_downclock = 0;
@@ -2932,7 +2910,6 @@ index cf4cb3e..cc8927e 100644
  }
  
 diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index b99b6a8..9013ff0 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -150,7 +150,27 @@ struct drm_i915_error_state {
@@ -3143,7 +3120,6 @@ index b99b6a8..9013ff0 100644
  
  #endif
 diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 1c0cc9e..64ff5a8 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
 @@ -162,7 +162,7 @@ fast_shmem_read(struct page **pages,
@@ -4339,7 +4315,6 @@ index 1c0cc9e..64ff5a8 100644
  	int ret;
  	char __user *user_data;
 diff --git a/drivers/gpu/drm/i915/i915_gem_debug.c b/drivers/gpu/drm/i915/i915_gem_debug.c
-index e602614..35507cf 100644
 --- a/drivers/gpu/drm/i915/i915_gem_debug.c
 +++ b/drivers/gpu/drm/i915/i915_gem_debug.c
 @@ -72,7 +72,7 @@ void
@@ -4361,7 +4336,6 @@ index e602614..35507cf 100644
  	uint32_t *gtt_mapping;
  	uint32_t *backing_map = NULL;
 diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c
-index 137e888..4bdccef 100644
 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c
 +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c
 @@ -25,8 +25,6 @@
@@ -4674,7 +4648,6 @@ index 137e888..4bdccef 100644
  	int i;
  
 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index a17d6bd..7701cbd 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -166,11 +166,15 @@ void intel_enable_asle (struct drm_device *dev)
@@ -5170,7 +5143,6 @@ index a17d6bd..7701cbd 100644
  		return;
  	}
 diff --git a/drivers/gpu/drm/i915/i915_opregion.c b/drivers/gpu/drm/i915/i915_opregion.c
-index 7cc8410..8fcc75c 100644
 --- a/drivers/gpu/drm/i915/i915_opregion.c
 +++ b/drivers/gpu/drm/i915/i915_opregion.c
 @@ -382,8 +382,57 @@ static void intel_didl_outputs(struct drm_device *dev)
@@ -5244,7 +5216,6 @@ index 7cc8410..8fcc75c 100644
  
  int intel_opregion_init(struct drm_device *dev, int resume)
 diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index ab1bd2d..8d4ea86 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -53,6 +53,25 @@
@@ -5741,7 +5712,6 @@ index ab1bd2d..8d4ea86 100644
 +
  #endif /* _I915_REG_H_ */
 diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
-index a3b90c9..60a5800 100644
 --- a/drivers/gpu/drm/i915/i915_suspend.c
 +++ b/drivers/gpu/drm/i915/i915_suspend.c
 @@ -600,14 +600,16 @@ void i915_save_display(struct drm_device *dev)
@@ -5837,7 +5807,6 @@ index a3b90c9..60a5800 100644
  	I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);
  
 diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
-index 01840d9..3038153 100644
 --- a/drivers/gpu/drm/i915/i915_trace.h
 +++ b/drivers/gpu/drm/i915/i915_trace.h
 @@ -115,7 +115,7 @@ TRACE_EVENT(i915_gem_object_get_fence,
@@ -5992,7 +5961,6 @@ index 01840d9..3038153 100644
  
  #endif /* _I915_TRACE_H_ */
 diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
-index 15fbc1b..f9ba452 100644
 --- a/drivers/gpu/drm/i915/intel_bios.c
 +++ b/drivers/gpu/drm/i915/intel_bios.c
 @@ -247,6 +247,7 @@ static void
@@ -6025,7 +5993,6 @@ index 15fbc1b..f9ba452 100644
  		}
  		return;
 diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index 79dd402..d7a1d9d 100644
 --- a/drivers/gpu/drm/i915/intel_crt.c
 +++ b/drivers/gpu/drm/i915/intel_crt.c
 @@ -39,7 +39,7 @@ static void intel_crt_dpms(struct drm_encoder *encoder, int mode)
@@ -6330,7 +6297,6 @@ index 79dd402..d7a1d9d 100644
  
  	drm_sysfs_connector_add(connector);
 diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index c8fd15f..c6c2d18 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
 @@ -232,7 +232,7 @@ struct intel_limit {
@@ -7599,15 +7565,9 @@ index c8fd15f..c6c2d18 100644
  		if (pipe == 0)
  			dspcntr &= ~DISPPLANE_SEL_PIPE_MASK;
  		else
-@@ -3248,20 +3602,15 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
- 			pipeconf &= ~PIPEACONF_DOUBLE_WIDE;
+@@ -3249,14 +3603,14 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  	}
  
--	dspcntr |= DISPLAY_PLANE_ENABLE;
--	pipeconf |= PIPEACONF_ENABLE;
--	dpll |= DPLL_VCO_ENABLE;
--
--
  	/* Disable the panel fitter if it was on our pipe */
 -	if (!IS_IRONLAKE(dev) && intel_panel_fitter_pipe(dev) == pipe)
 +	if (!HAS_PCH_SPLIT(dev) && intel_panel_fitter_pipe(dev) == pipe)
@@ -7622,7 +7582,7 @@ index c8fd15f..c6c2d18 100644
  		fp_reg = pch_fp_reg;
  		dpll_reg = pch_dpll_reg;
  	}
-@@ -3275,6 +3624,18 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3275,6 +3629,18 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  		udelay(150);
  	}
  
@@ -7641,7 +7601,7 @@ index c8fd15f..c6c2d18 100644
  	/* The LVDS pin pair needs to be on before the DPLLs are enabled.
  	 * This is an exception to the general rule that mode_set doesn't turn
  	 * things on.
-@@ -3282,11 +3643,22 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3282,11 +3648,22 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  	if (is_lvds) {
  		u32 lvds;
  
@@ -7666,7 +7626,7 @@ index c8fd15f..c6c2d18 100644
  		/* set the corresponsding LVDS_BORDER bit */
  		lvds |= dev_priv->lvds_border_bits;
  		/* Set the B0-B3 data pairs corresponding to whether we're going to
-@@ -3304,12 +3676,12 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3304,12 +3681,12 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  		/* set the dithering flag */
  		if (IS_I965G(dev)) {
  			if (dev_priv->lvds_dither) {
@@ -7681,7 +7641,7 @@ index c8fd15f..c6c2d18 100644
  					pipeconf &= ~PIPE_ENABLE_DITHER;
  				else
  					lvds &= ~LVDS_ENABLE_DITHER;
-@@ -3320,6 +3692,20 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3320,6 +3697,20 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  	}
  	if (is_dp)
  		intel_dp_set_m_n(crtc, mode, adjusted_mode);
@@ -7702,7 +7662,7 @@ index c8fd15f..c6c2d18 100644
  
  	if (!is_edp) {
  		I915_WRITE(fp_reg, fp);
-@@ -3328,7 +3714,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3328,7 +3719,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  		/* Wait for the clocks to stabilize. */
  		udelay(150);
  
@@ -7711,7 +7671,7 @@ index c8fd15f..c6c2d18 100644
  			if (is_sdvo) {
  				sdvo_pixel_multiply = adjusted_mode->clock / mode->clock;
  				I915_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) |
-@@ -3375,14 +3761,14 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3375,14 +3766,14 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  	/* pipesrc and dspsize control the size that is scaled from, which should
  	 * always be the user's requested size.
  	 */
@@ -7728,7 +7688,7 @@ index c8fd15f..c6c2d18 100644
  		I915_WRITE(data_m1_reg, TU_SIZE(m_n.tu) | m_n.gmch_m);
  		I915_WRITE(data_n1_reg, TU_SIZE(m_n.tu) | m_n.gmch_n);
  		I915_WRITE(link_m1_reg, m_n.link_m);
-@@ -3394,6 +3780,18 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
+@@ -3394,6 +3785,18 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
  			/* enable FDI RX PLL too */
  			temp = I915_READ(fdi_rx_reg);
  			I915_WRITE(fdi_rx_reg, temp | FDI_RX_PLL_ENABLE);
@@ -7747,7 +7707,7 @@ index c8fd15f..c6c2d18 100644
  			udelay(200);
  		}
  	}
-@@ -3438,7 +3836,7 @@ void intel_crtc_load_lut(struct drm_crtc *crtc)
+@@ -3438,7 +3841,7 @@ void intel_crtc_load_lut(struct drm_crtc *crtc)
  		return;
  
  	/* use legacy palette for Ironlake */
@@ -7756,7 +7716,7 @@ index c8fd15f..c6c2d18 100644
  		palreg = (intel_crtc->pipe == 0) ? LGC_PALETTE_A :
  						   LGC_PALETTE_B;
  
-@@ -3494,7 +3892,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
+@@ -3494,7 +3897,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
  	if (!bo)
  		return -ENOENT;
  
@@ -7765,7 +7725,7 @@ index c8fd15f..c6c2d18 100644
  
  	if (bo->size < width * height * 4) {
  		DRM_ERROR("buffer is to small\n");
-@@ -3638,9 +4036,9 @@ static void intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
+@@ -3638,9 +4041,9 @@ static void intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
   * detection.
   *
   * It will be up to the load-detect code to adjust the pipe as appropriate for
@@ -7777,7 +7737,7 @@ index c8fd15f..c6c2d18 100644
   * configured for it.  In the future, it could choose to temporarily disable
   * some outputs to free up a pipe for its use.
   *
-@@ -3653,14 +4051,15 @@ static struct drm_display_mode load_detect_mode = {
+@@ -3653,14 +4056,15 @@ static struct drm_display_mode load_detect_mode = {
  		 704, 832, 0, 480, 489, 491, 520, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
  };
  
@@ -7795,7 +7755,7 @@ index c8fd15f..c6c2d18 100644
  	struct drm_crtc *crtc = NULL;
  	struct drm_device *dev = encoder->dev;
  	struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private;
-@@ -3712,8 +4111,8 @@ struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output,
+@@ -3712,8 +4116,8 @@ struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output,
  	}
  
  	encoder->crtc = crtc;
@@ -7806,7 +7766,7 @@ index c8fd15f..c6c2d18 100644
  
  	intel_crtc = to_intel_crtc(crtc);
  	*dpms_mode = intel_crtc->dpms_mode;
-@@ -3738,23 +4137,24 @@ struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output,
+@@ -3738,23 +4142,24 @@ struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output,
  	return crtc;
  }
  
@@ -7837,7 +7797,7 @@ index c8fd15f..c6c2d18 100644
  	if (crtc->enabled && dpms_mode != DRM_MODE_DPMS_ON) {
  		if (encoder->crtc == crtc)
  			encoder_funcs->dpms(encoder, dpms_mode);
-@@ -3921,7 +4321,7 @@ static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule)
+@@ -3921,7 +4326,7 @@ static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule)
  	int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B;
  	int dpll = I915_READ(dpll_reg);
  
@@ -7846,7 +7806,7 @@ index c8fd15f..c6c2d18 100644
  		return;
  
  	if (!dev_priv->lvds_downclock_avail)
-@@ -3960,7 +4360,7 @@ static void intel_decrease_pllclock(struct drm_crtc *crtc)
+@@ -3960,7 +4365,7 @@ static void intel_decrease_pllclock(struct drm_crtc *crtc)
  	int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B;
  	int dpll = I915_READ(dpll_reg);
  
@@ -7855,7 +7815,7 @@ index c8fd15f..c6c2d18 100644
  		return;
  
  	if (!dev_priv->lvds_downclock_avail)
-@@ -4010,6 +4410,11 @@ static void intel_idle_update(struct work_struct *work)
+@@ -4010,6 +4415,11 @@ static void intel_idle_update(struct work_struct *work)
  
  	mutex_lock(&dev->struct_mutex);
  
@@ -7867,7 +7827,7 @@ index c8fd15f..c6c2d18 100644
  	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
  		/* Skip inactive CRTCs */
  		if (!crtc->fb)
-@@ -4043,9 +4448,17 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj)
+@@ -4043,9 +4453,17 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj)
  	if (!drm_core_check_feature(dev, DRIVER_MODESET))
  		return;
  
@@ -7887,7 +7847,7 @@ index c8fd15f..c6c2d18 100644
  		mod_timer(&dev_priv->idle_timer, jiffies +
  			  msecs_to_jiffies(GPU_IDLE_TIMEOUT));
  
-@@ -4057,6 +4470,14 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj)
+@@ -4057,6 +4475,14 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj)
  		intel_fb = to_intel_framebuffer(crtc->fb);
  		if (intel_fb->obj == obj) {
  			if (!intel_crtc->busy) {
@@ -7902,7 +7862,7 @@ index c8fd15f..c6c2d18 100644
  				/* Non-busy -> busy, upclock */
  				intel_increase_pllclock(crtc, true);
  				intel_crtc->busy = true;
-@@ -4118,7 +4539,7 @@ void intel_finish_page_flip(struct drm_device *dev, int pipe)
+@@ -4118,7 +4544,7 @@ void intel_finish_page_flip(struct drm_device *dev, int pipe)
  	work = intel_crtc->unpin_work;
  	if (work == NULL || !work->pending) {
  		if (work && !work->pending) {
@@ -7911,7 +7871,7 @@ index c8fd15f..c6c2d18 100644
  			DRM_DEBUG_DRIVER("flip finish: %p (%d) not pending?\n",
  					 obj_priv,
  					 atomic_read(&obj_priv->pending_flip));
-@@ -4143,7 +4564,7 @@ void intel_finish_page_flip(struct drm_device *dev, int pipe)
+@@ -4143,7 +4569,7 @@ void intel_finish_page_flip(struct drm_device *dev, int pipe)
  
  	spin_unlock_irqrestore(&dev->event_lock, flags);
  
@@ -7920,7 +7880,7 @@ index c8fd15f..c6c2d18 100644
  
  	/* Initial scanout buffer will have a 0 pending flip count */
  	if ((atomic_read(&obj_priv->pending_flip) == 0) ||
-@@ -4214,7 +4635,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+@@ -4214,7 +4640,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
  	ret = intel_pin_and_fence_fb_obj(dev, obj);
  	if (ret != 0) {
  		DRM_DEBUG_DRIVER("flip queue: %p pin & fence failed\n",
@@ -7929,7 +7889,7 @@ index c8fd15f..c6c2d18 100644
  		kfree(work);
  		intel_crtc->unpin_work = NULL;
  		mutex_unlock(&dev->struct_mutex);
-@@ -4228,7 +4649,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+@@ -4228,7 +4654,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
  	crtc->fb = fb;
  	i915_gem_object_flush_write_domain(obj);
  	drm_vblank_get(dev, intel_crtc->pipe);
@@ -7938,7 +7898,7 @@ index c8fd15f..c6c2d18 100644
  	atomic_inc(&obj_priv->pending_flip);
  	work->pending_flip_obj = obj;
  
-@@ -4354,15 +4775,15 @@ struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
+@@ -4354,15 +4780,15 @@ struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
  	return crtc;
  }
  
@@ -7959,7 +7919,7 @@ index c8fd15f..c6c2d18 100644
  			index_mask |= (1 << entry);
  		entry++;
  	}
-@@ -4373,7 +4794,7 @@ static int intel_connector_clones(struct drm_device *dev, int type_mask)
+@@ -4373,7 +4799,7 @@ static int intel_connector_clones(struct drm_device *dev, int type_mask)
  static void intel_setup_outputs(struct drm_device *dev)
  {
  	struct drm_i915_private *dev_priv = dev->dev_private;
@@ -7968,7 +7928,7 @@ index c8fd15f..c6c2d18 100644
  
  	intel_crt_init(dev);
  
-@@ -4381,16 +4802,15 @@ static void intel_setup_outputs(struct drm_device *dev)
+@@ -4381,16 +4807,15 @@ static void intel_setup_outputs(struct drm_device *dev)
  	if (IS_MOBILE(dev) && !IS_I830(dev))
  		intel_lvds_init(dev);
  
@@ -7988,7 +7948,7 @@ index c8fd15f..c6c2d18 100644
  			if (!found)
  				intel_hdmi_init(dev, HDMIB);
  			if (!found && (I915_READ(PCH_DP_B) & DP_DETECTED))
-@@ -4450,19 +4870,18 @@ static void intel_setup_outputs(struct drm_device *dev)
+@@ -4450,19 +4875,18 @@ static void intel_setup_outputs(struct drm_device *dev)
  			DRM_DEBUG_KMS("probing DP_D\n");
  			intel_dp_init(dev, DP_D);
  		}
@@ -8014,7 +7974,7 @@ index c8fd15f..c6c2d18 100644
  	}
  }
  
-@@ -4586,6 +5005,91 @@ err_unref:
+@@ -4586,6 +5010,91 @@ err_unref:
  	return NULL;
  }
  
@@ -8106,7 +8066,7 @@ index c8fd15f..c6c2d18 100644
  void intel_init_clock_gating(struct drm_device *dev)
  {
  	struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -4594,7 +5098,40 @@ void intel_init_clock_gating(struct drm_device *dev)
+@@ -4594,7 +5103,40 @@ void intel_init_clock_gating(struct drm_device *dev)
  	 * Disable clock gating reported to work incorrectly according to the
  	 * specs, but enable as much else as we can.
  	 */
@@ -8148,7 +8108,7 @@ index c8fd15f..c6c2d18 100644
  		return;
  	} else if (IS_G4X(dev)) {
  		uint32_t dspclk_gate;
-@@ -4642,14 +5179,14 @@ void intel_init_clock_gating(struct drm_device *dev)
+@@ -4642,14 +5184,14 @@ void intel_init_clock_gating(struct drm_device *dev)
  		struct drm_i915_gem_object *obj_priv = NULL;
  
  		if (dev_priv->pwrctx) {
@@ -8165,7 +8125,7 @@ index c8fd15f..c6c2d18 100644
  			}
  		}
  
-@@ -4667,7 +5204,7 @@ static void intel_init_display(struct drm_device *dev)
+@@ -4667,7 +5209,7 @@ static void intel_init_display(struct drm_device *dev)
  	struct drm_i915_private *dev_priv = dev->dev_private;
  
  	/* We always want a DPMS function */
@@ -8174,7 +8134,7 @@ index c8fd15f..c6c2d18 100644
  		dev_priv->display.dpms = ironlake_crtc_dpms;
  	else
  		dev_priv->display.dpms = i9xx_crtc_dpms;
-@@ -4678,7 +5215,7 @@ static void intel_init_display(struct drm_device *dev)
+@@ -4678,7 +5220,7 @@ static void intel_init_display(struct drm_device *dev)
  			dev_priv->display.fbc_enabled = g4x_fbc_enabled;
  			dev_priv->display.enable_fbc = g4x_enable_fbc;
  			dev_priv->display.disable_fbc = g4x_disable_fbc;
@@ -8183,7 +8143,7 @@ index c8fd15f..c6c2d18 100644
  			dev_priv->display.fbc_enabled = i8xx_fbc_enabled;
  			dev_priv->display.enable_fbc = i8xx_enable_fbc;
  			dev_priv->display.disable_fbc = i8xx_disable_fbc;
-@@ -4710,23 +5247,46 @@ static void intel_init_display(struct drm_device *dev)
+@@ -4710,23 +5252,46 @@ static void intel_init_display(struct drm_device *dev)
  			i830_get_display_clock_speed;
  
  	/* For FIFO watermark updates */
@@ -8238,7 +8198,7 @@ index c8fd15f..c6c2d18 100644
  	}
  }
  
-@@ -4769,11 +5329,6 @@ void intel_modeset_init(struct drm_device *dev)
+@@ -4769,11 +5334,6 @@ void intel_modeset_init(struct drm_device *dev)
  	DRM_DEBUG_KMS("%d display pipe%s available.\n",
  		  num_pipe, num_pipe > 1 ? "s" : "");
  
@@ -8250,7 +8210,7 @@ index c8fd15f..c6c2d18 100644
  	for (i = 0; i < num_pipe; i++) {
  		intel_crtc_init(dev, i);
  	}
-@@ -4782,18 +5337,14 @@ void intel_modeset_init(struct drm_device *dev)
+@@ -4782,18 +5342,14 @@ void intel_modeset_init(struct drm_device *dev)
  
  	intel_init_clock_gating(dev);
  
@@ -8272,7 +8232,7 @@ index c8fd15f..c6c2d18 100644
  }
  
  void intel_modeset_cleanup(struct drm_device *dev)
-@@ -4822,27 +5373,45 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -4822,27 +5378,45 @@ void intel_modeset_cleanup(struct drm_device *dev)
  	if (dev_priv->pwrctx) {
  		struct drm_i915_gem_object *obj_priv;
  
@@ -8326,7 +8286,6 @@ index c8fd15f..c6c2d18 100644
  
  /*
 diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 439506c..21e3fdc 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
 @@ -47,30 +47,28 @@ struct intel_dp_priv {
@@ -9290,7 +9249,6 @@ index 439506c..21e3fdc 100644
  	if (output_reg == DP_A) {
  		/* initialize panel mode from VBT if available for eDP */
 diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index a51573d..1ee4717 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -95,9 +95,7 @@ struct intel_framebuffer {
@@ -9389,7 +9347,6 @@ index a51573d..1ee4717 100644
  extern int intel_framebuffer_create(struct drm_device *dev,
  				    struct drm_mode_fb_cmd *mode_cmd,
 diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
-index a4d2606..835a4cf 100644
 --- a/drivers/gpu/drm/i915/intel_dvo.c
 +++ b/drivers/gpu/drm/i915/intel_dvo.c
 @@ -79,8 +79,8 @@ static struct intel_dvo_device intel_dvo_devices[] = {
@@ -9690,7 +9647,6 @@ index a4d2606..835a4cf 100644
 +	kfree(intel_connector);
  }
 diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c
-index aaabbcb..785a5b4 100644
 --- a/drivers/gpu/drm/i915/intel_fb.c
 +++ b/drivers/gpu/drm/i915/intel_fb.c
 @@ -144,7 +144,7 @@ static int intelfb_create(struct drm_device *dev, uint32_t fb_width,
@@ -9703,7 +9659,6 @@ index aaabbcb..785a5b4 100644
  	mutex_lock(&dev->struct_mutex);
  
 diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index 0e268de..fd95448 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
 @@ -38,7 +38,6 @@
@@ -9986,7 +9941,6 @@ index 0e268de..fd95448 100644
  	return;
  }
 diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
-index 8673c73..fcc753c 100644
 --- a/drivers/gpu/drm/i915/intel_i2c.c
 +++ b/drivers/gpu/drm/i915/intel_i2c.c
 @@ -128,7 +128,7 @@ intel_i2c_reset_gmbus(struct drm_device *dev)
@@ -9999,7 +9953,6 @@ index 8673c73..fcc753c 100644
  	} else {
  		I915_WRITE(GMBUS0, 0);
 diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index 93031a7..a5d61d3 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
 @@ -56,7 +56,7 @@ static void intel_lvds_set_backlight(struct drm_device *dev, int level)
@@ -10489,7 +10442,6 @@ index 93031a7..a5d61d3 100644
 +	kfree(intel_connector);
  }
 diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c
-index 67e2f46..9562176 100644
 --- a/drivers/gpu/drm/i915/intel_modes.c
 +++ b/drivers/gpu/drm/i915/intel_modes.c
 @@ -33,7 +33,7 @@
@@ -10547,7 +10499,6 @@ index 67e2f46..9562176 100644
  	}
  
 diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index f8887f6..6d524a1 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
 @@ -172,7 +172,7 @@ struct overlay_registers {
@@ -10669,7 +10620,6 @@ index f8887f6..6d524a1 100644
  	if (OVERLAY_NONPHYSICAL(dev)) {
  		ret = i915_gem_object_pin(reg_bo, PAGE_SIZE);
 diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
-index 48daee5..df9f997 100644
 --- a/drivers/gpu/drm/i915/intel_sdvo.c
 +++ b/drivers/gpu/drm/i915/intel_sdvo.c
 @@ -35,7 +35,18 @@
@@ -13269,7 +13219,6 @@ index 48daee5..df9f997 100644
  	return false;
  }
 diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index 552ec11..6d553c2 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
 @@ -916,143 +916,6 @@ intel_tv_dpms(struct drm_encoder *encoder, int mode)
@@ -13665,7 +13614,6 @@ index 552ec11..6d553c2 100644
  	connector->interlace_allowed = false;
  	connector->doublescan_allowed = false;
 diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
-index e6f3b12..5db789b 100644
 --- a/include/drm/drm_pciids.h
 +++ b/include/drm/drm_pciids.h
 @@ -558,4 +558,5 @@


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-13/kernel.spec,v
retrieving revision 1.2020
retrieving revision 1.2021
diff -u -p -r1.2020 -r1.2021
--- kernel.spec	5 May 2010 18:37:02 -0000	1.2020
+++ kernel.spec	6 May 2010 17:25:21 -0000	1.2021
@@ -2191,6 +2191,9 @@ fi
 # and build.
 
 %changelog
+* Thu May 06 2010 Adam Jackson <ajax at redhat.com> 2.6.33.3-85
+- drm-intel-next: Enable the display even harder (#587171)
+
 * Wed May 5 2010 Kyle McMartin <kyle at redhat.com> 2.6.33.3-84
 - CONFIG_HWMON=y => CONFIG_THERMAL_HWMON. Kconfig is worse than rabies.
 



More information about the scm-commits mailing list