On Wed, 02 Nov 2011 11:29:53 -0400, Adam Jackson ajax@redhat.com wrote:
Redundant. You've already done the link_configuration |= above in the common code. You can drop the second if chunk altogether.
Thanks for catching this mistake; cut&paste programming without the cut part...
In related news, the corresponding section for this in TRANS_DP_CTL setup appears to turn on enhanced framing unconditionally. This is probably not a big deal, I don't think I've ever seen a display not support it, but.
Yeah, it's actually a huge pain because TRANS_DP_CTL is set up in ironlake_pch_enable, which is part of the crtc enable path not the encoder mode set path, and getting to the appropriate intel_dp structure takes a walk through all of the encoders to find the matching one.
I think we could move the TRANS_DP_CTL code into intel_dp.c where it belongs; this chunk was stuck inside ironlake_crtc_dpms by Zhenyu last year when DP/eDP support for Sandybridge and Cougarpoint was added in commit e3421a189447c0b8cd0aff5c299f53b5ab7c38f6.
Most of the TRANS_DP_CTL chunk inside ironlake_pch_enable should just get moved to intel_dp_mode_set, but I don't know if the TRANS_DP_OUTPUT_ENABLE bit needs to be set before intel_enable_transcoder is called; if it does, then we'd need to preserve that piece inside ironlake_pch_enable, otherwise that bit would move to intel_dp_commit.