linux/drivers/gpu/drm/i915
Keith Packard c898261c0d drm/i915: Force explicit bpp selection for intel_dp_link_required
It is never correct to use intel_crtc->bpp in intel_dp_link_required,
so instead pass an explicit bpp in to this function. This patch
only supports 18bpp and 24bpp modes, which means that 10bpc modes will
be computed incorrectly. Fixing that will require more extensive
changes, and so must be addressed separately from this bugfix.

intel_dp_link_required is called from intel_dp_mode_valid and
intel_dp_mode_fixup.

* intel_dp_mode_valid is called to list supported modes; in this case,
  the current crtc values cannot be relevant as the modes in question
  may never be selected. Thus, using intel_crtc->bpp is never right.

* intel_dp_mode_fixup is called during mode setting, but it is run
  well before ironlake_crtc_mode_set is called to set intel_crtc->bpp,
  so using intel_crtc-bpp in this path can only ever get a stale
  value.

Cc: Lubos Kolouch <lubos.kolouch@gmail.com>
Cc: Adam Jackson <ajax@redhat.com>
Cc: stable@vger.kernel.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42263
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44881
Tested-by: Dave Airlie <airlied@redhat.com>
Tested-by: camalot@picnicpark.org (Dell Latitude 6510)
Tested-by: Roland Dreier <roland@digitalvampire.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2012-02-06 14:34:29 -08:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h
i915_debugfs.c drm/i915: fixup forcewake spinlock fallout in drpc debugfs function 2012-01-25 09:15:33 -08:00
i915_dma.c drm/i915: protect force_wake_(get|put) with the gt_lock 2012-01-19 11:51:31 -08:00
i915_drv.c drm/i915: Hold gt_lock across forcewake register reads 2012-01-19 12:28:53 -08:00
i915_drv.h drm/i915: protect force_wake_(get|put) with the gt_lock 2012-01-19 11:51:31 -08:00
i915_gem_debug.c drm/i915: drop KM_USER0 argument to k(un)map_atomic 2011-10-20 15:26:37 -07:00
i915_gem_evict.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_gem_execbuffer.c Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2012-01-10 11:04:36 -08:00
i915_gem_gtt.c drm/i915: ILK + VT-d workaround 2011-10-20 15:26:39 -07:00
i915_gem_tiling.c drm/i915: simplify swapin/out swizzle checking a bit 2011-10-20 14:11:18 -07:00
i915_gem.c drm/i915: Make the fallback IRQ wait not sleep. 2012-01-03 09:31:16 -08:00
i915_ioc32.c
i915_irq.c drm/i915: rip out the HWSTAM missed irq workaround 2012-01-19 15:45:44 -08:00
i915_mem.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_reg.h drm/i915: Add support for resetting the SO write pointers on gen7. 2012-01-03 09:31:18 -08:00
i915_suspend.c drm/i915: Re-enable gen7 RC6 and GPU turbo after resume. 2012-01-24 13:25:10 -08:00
i915_trace_points.c
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_acpi.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_bios.c drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_bios.h drm/i915: VBT Parser cleanup for eDP block 2012-01-13 08:37:44 -08:00
intel_crt.c CHROMIUM: i915: Add DMI override to skip CRT initialization on ZGB 2012-01-12 12:30:25 -08:00
intel_display.c drm/i915: fixup interlaced bits clearing in PIPECONF on PCH_SPLIT 2012-01-28 17:37:42 -08:00
intel_dp.c drm/i915: Force explicit bpp selection for intel_dp_link_required 2012-02-06 14:34:29 -08:00
intel_drv.h drm: introduce drm_can_sleep and use in intel/radeon drivers. (v2) 2012-01-06 10:01:35 +00:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
intel_hdmi.c drm/i915: HDMI hot remove notification to audio driver 2011-12-19 19:15:48 -08:00
intel_i2c.c gpu: Add export.h as required to drivers/gpu files. 2011-10-31 19:32:03 -04:00
intel_lvds.c drm/i915: Add Clientron E830 to the ignore LVDS list 2012-01-12 12:35:42 -08:00
intel_modes.c drm/i915: pass ELD to HDMI/DP audio driver 2011-09-21 14:52:41 -07:00
intel_opregion.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_overlay.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_panel.c drm/i915: Treat pre-gen4 backlight duty cycle value consistently 2011-11-23 13:07:13 -08:00
intel_ringbuffer.c Revert "drm/i915: Work around gen7 BLT ring synchronization issues." 2012-01-20 10:20:44 -08:00
intel_ringbuffer.h drm/i915: Dumb down the semaphore logic 2011-09-21 14:52:41 -07:00
intel_sdvo_regs.h misc latin1 to utf8 conversions 2012-01-02 13:04:55 +01:00
intel_sdvo.c drm/i915/sdvo: always set positive sync polarity 2012-01-06 14:11:17 -08:00
intel_sprite.c drm/i915: sprite init failure on pre-SNB is not a failure 2012-01-13 15:49:27 -08:00
intel_tv.c drm/i915: Removing TV Out modes. 2012-01-06 13:54:12 -08:00
Makefile drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00