Commit 835bff7e authored by Keith Packard's avatar Keith Packard
Browse files

drm/i915: Select correct pipe during TV detect



Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
Tested-by: default avatarYi Sun <yi.sun@intel.com>
parent 9aa73a51
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1236,6 +1236,8 @@ intel_tv_detect_type (struct intel_tv *intel_tv,
		      struct drm_connector *connector)
{
	struct drm_encoder *encoder = &intel_tv->base.base;
	struct drm_crtc *crtc = encoder->crtc;
	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
	struct drm_device *dev = encoder->dev;
	struct drm_i915_private *dev_priv = dev->dev_private;
	unsigned long irqflags;
@@ -1258,6 +1260,10 @@ intel_tv_detect_type (struct intel_tv *intel_tv,
	/* Poll for TV detection */
	tv_ctl &= ~(TV_ENC_ENABLE | TV_TEST_MODE_MASK);
	tv_ctl |= TV_TEST_MODE_MONITOR_DETECT;
	if (intel_crtc->pipe == 1)
		tv_ctl |= TV_ENC_PIPEB_SELECT;
	else
		tv_ctl &= ~TV_ENC_PIPEB_SELECT;

	tv_dac &= ~(TVDAC_SENSE_MASK | DAC_A_MASK | DAC_B_MASK | DAC_C_MASK);
	tv_dac |= (TVDAC_STATE_CHG_EN |