]> 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)
commit69e8797f8e1b150fa0bf1d1924a2c3c64b5c4c5a
treecf17996ee38f099cc5adfc218cc0304560a415fc
parentf6ca3d9fb3dbb345a373b08bc25f30ea38bef9f8
Revert "drm/i915: set TRANSCODER_EDP even earlier"

This reverts commit b2dd6bd920d1ff112d6b61069ea26c91134a62f7.

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