]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "drm/i915: set TRANSCODER_EDP even earlier"
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 22 Mar 2013 09:53:40 +0000 (10:53 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 24 Mar 2013 12:22:32 +0000 (13:22 +0100)
commit27c69e939f1d160adc4452ddc2f7fd6257410b57
treecf17996ee38f099cc5adfc218cc0304560a415fc
parentc1901efe839bce81e91af22e4670dea219e20b1a
Revert "drm/i915: set TRANSCODER_EDP even earlier"

This reverts commit ce46e1cde8740eca7307bc8ddfdea2d55bc97339.

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>
drivers/gpu/drm/i915/intel_display.c