drm/i915: detect PCH encoders on Haswell
On Haswell, the recommended PCH-connected output is the one driven by DDI E in FDI mode, used for VGA connection. All the others are handled by the CPU. Note that this does not accounts for Haswell/PPT combination yet, so if we encounter such combination an error message is thrown to indicate that things could go wrong. v2: improve non-LPT detection warning per Daniel Vetter's suggestion. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
f57e1e3a67
commit
6ee8bab09d
@ -2610,6 +2610,22 @@ static bool intel_crtc_driving_pch(struct drm_crtc *crtc)
|
||||
if (encoder->base.crtc != crtc)
|
||||
continue;
|
||||
|
||||
/* On Haswell, LPT PCH handles the VGA connection via FDI, and Haswell
|
||||
* CPU handles all others */
|
||||
if (IS_HASWELL(dev)) {
|
||||
/* It is still unclear how this will work on PPT, so throw up a warning */
|
||||
WARN_ON(!HAS_PCH_LPT(dev));
|
||||
|
||||
if (encoder->type == DRM_MODE_ENCODER_DAC) {
|
||||
DRM_DEBUG_KMS("Haswell detected DAC encoder, assuming is PCH\n");
|
||||
return true;
|
||||
} else {
|
||||
DRM_DEBUG_KMS("Haswell detected encoder %d, assuming is CPU\n",
|
||||
encoder->type);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
switch (encoder->type) {
|
||||
case INTEL_OUTPUT_EDP:
|
||||
if (!intel_encoder_is_pch_edp(&encoder->base))
|
||||
|
Loading…
Reference in New Issue
Block a user