mirror of https://gitee.com/openkylin/linux.git
drm/i915: Select correct pipe during TV detect
Signed-off-by: Keith Packard <keithp@keithp.com> Tested-by: Yi Sun <yi.sun@intel.com>
This commit is contained in:
parent
9aa73a51c9
commit
835bff7ef2
|
@ -1236,6 +1236,8 @@ intel_tv_detect_type (struct intel_tv *intel_tv,
|
||||||
struct drm_connector *connector)
|
struct drm_connector *connector)
|
||||||
{
|
{
|
||||||
struct drm_encoder *encoder = &intel_tv->base.base;
|
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_device *dev = encoder->dev;
|
||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
unsigned long irqflags;
|
unsigned long irqflags;
|
||||||
|
@ -1258,6 +1260,10 @@ intel_tv_detect_type (struct intel_tv *intel_tv,
|
||||||
/* Poll for TV detection */
|
/* Poll for TV detection */
|
||||||
tv_ctl &= ~(TV_ENC_ENABLE | TV_TEST_MODE_MASK);
|
tv_ctl &= ~(TV_ENC_ENABLE | TV_TEST_MODE_MASK);
|
||||||
tv_ctl |= TV_TEST_MODE_MONITOR_DETECT;
|
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_SENSE_MASK | DAC_A_MASK | DAC_B_MASK | DAC_C_MASK);
|
||||||
tv_dac |= (TVDAC_STATE_CHG_EN |
|
tv_dac |= (TVDAC_STATE_CHG_EN |
|
||||||
|
|
Loading…
Reference in New Issue