alistair23-linux/drivers/gpu/drm/i915
Daniel Vetter bba2181c49 Revert "drm/i915: set TRANSCODER_EDP even earlier"
This reverts commit cc464b2a17.

The reason is that Takashi Iwai reported a regression bisected to this
commit:

http://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg18788.html

His machine has eDP on port D (usual desktop all-in-on setup), which
intel_dp.c identifies as an eDP panel, but the hsw ddi code
mishandles.

Closer inspection of the code reveals that haswell_crtc_mode_set also
checks intel_encoder_is_pch_edp when setting is_cpu_edp. On haswell
that doesn't make much sense (since there's no edp on the pch), but
what this function _really_ checks is whether that edp connector is on
port A or port D. It's just that on ilk-ivb port D was on the pch ...

So that explains why this seemingly innocent change killed eDP on port
D. Furthermore it looks like everything else accidentally works, since
we've never enabled eDP on port D support for hsw intentionally (e.g.
we still register the HDMI output for port D in that case).

But in retrospective I also don't like that this leaks highly platform
specific details into common code, and the reason is that the drm
vblank layer sucks. So instead I think we should:
- move the cpu_transcoder into the dynamic pipe_config tracking (once
  that's merged).
- fix up the drm vblank layer to finally deal with kms crtc objects
  instead of int pipes.

v2: Pimp commit message with the better diagnosis as discussed with
Paulo on irc.

Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-03-24 13:22:32 +01:00
..
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
dvo_ch7xxx.c drm/i915/dvo-ch7xxx: fix get_hw_state 2012-10-12 10:59:11 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
i915_debugfs.c drm/i915: restrict kernel address leak in debugfs 2013-03-13 21:31:02 +01:00
i915_dma.c i915: ignore lid open event when resuming 2013-02-14 00:47:51 +01:00
i915_drv.c drm/i915: enable irqs earlier when resuming 2013-03-05 10:21:36 +01:00
i915_drv.h drm/i915: Preserve the FDI line reversal override bit on CPT 2013-02-20 00:21:45 +01:00
i915_gem.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
i915_gem_context.c drm/i915: convert to idr_alloc() 2013-02-27 19:10:16 -08:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c Merge tag 'drm-intel-next-2012-12-21' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-01-17 20:34:08 +10:00
i915_gem_evict.c drm/i915: Create a gtt structure 2013-01-17 22:33:56 +01:00
i915_gem_execbuffer.c drm/i915: bounds check execbuffer relocation count 2013-03-13 21:31:03 +01:00
i915_gem_gtt.c drm/i915: Fix gen2 mappable calculations 2013-02-15 10:30:38 +01:00
i915_gem_stolen.c drm/i915: remove intel_gtt structure 2013-01-31 11:50:07 +01:00
i915_gem_tiling.c drm/i915: Create a gtt structure 2013-01-17 22:33:56 +01:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: also disable south interrupts when handling them 2013-03-05 20:06:22 +01:00
i915_reg.h drm/i915: Fix incorrect definition of ADPA HSYNC and VSYNC bits 2013-03-06 10:10:37 +01:00
i915_suspend.c drm/i915: Introduce i915_vgacntrl_reg() 2013-01-31 11:50:12 +01:00
i915_sysfs.c drm/i915: fixup l3 parity sysfs access check 2012-12-05 19:10:20 +01:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_ums.c drm/i915: move DP save/restore into i915_ums.c 2013-01-31 11:50:04 +01:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next 2012-12-10 20:03:58 +10:00
intel_bios.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_crt.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-03-07 11:12:14 +10:00
intel_ddi.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-03-07 11:12:14 +10:00
intel_display.c Revert "drm/i915: set TRANSCODER_EDP even earlier" 2013-03-24 13:22:32 +01:00
intel_dp.c drm/i915: Use the fixed pixel clock for eDP in intel_dp_set_m_n() 2013-03-18 11:25:36 +01:00
intel_drv.h Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-02-24 12:39:02 +10:00
intel_dvo.c drm/i915: rip out helper->disable noop functions 2013-02-14 00:07:54 +01:00
intel_fb.c drm/<drivers>: simplify ->fb_probe callback 2013-02-14 00:07:58 +01:00
intel_hdmi.c Merge branch 'drm/hdmi-for-3.9' of git://anongit.freedesktop.org/tegra/linux into drm-next 2013-02-24 12:39:42 +10:00
intel_i2c.c drm/i915: stop using GMBUS IRQs on Gen4 chips 2013-03-20 00:03:16 +01:00
intel_lvds.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-02-20 11:41:26 +10:00
intel_modes.c drm/i915: Add "Automatic" mode for the "Broadcast RGB" property 2013-01-20 13:09:44 +01:00
intel_opregion.c GPU/i915: Fix acpi_bus_get_device() check in drivers/gpu/drm/i915/intel_opregion.c 2013-02-01 11:01:50 +01:00
intel_overlay.c Merge tag 'drm-intel-next-2013-02-01' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-02-08 11:08:10 +10:00
intel_panel.c drm/i915: write backlight harder 2013-02-15 10:30:36 +01:00
intel_pm.c drm/i915: Increase the RC6p threshold. 2013-03-05 10:02:00 +01:00
intel_ringbuffer.c drm/i915: Fix PIPE_CONTROL DW/QW write through global GTT on IVB+ 2013-02-20 00:21:47 +01:00
intel_ringbuffer.h Merge tag 'drm-intel-next-2012-12-21' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-01-17 20:34:08 +10:00
intel_sdvo.c drm: Remove duplicate drm_mode_cea_vic() 2013-02-22 08:19:53 +01:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sprite.c drm/i915: Handle untiled planes when computing their offsets 2013-02-21 21:52:08 +01:00
intel_tv.c drm/i915: rip out helper->disable noop functions 2013-02-14 00:07:54 +01:00
Makefile drm/i915: extract ums suspend/resume into i915_ums.c 2013-01-31 11:50:03 +01:00