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