From 17eca0fd8d4e3999f8edf1195b31f2125add9401 Mon Sep 17 00:00:00 2001 From: Zhao Yakui Date: Fri, 2 Apr 2010 14:53:22 +0800 Subject: [PATCH] drm/i915: Use the BIOS hack to make TV detection reliable on cantiga platform Signed-off-by: Zhao Yakui --- drivers/gpu/drm/i915/intel_tv.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 552ec11..a363aad 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -1391,11 +1391,17 @@ intel_tv_detect_type (struct drm_crtc *crtc, struct intel_output *intel_output) tv_dac &= ~DAC_A_MASK; tv_dac &= ~DAC_B_MASK; tv_dac &= ~DAC_C_MASK; - tv_dac |= (TVDAC_STATE_CHG_EN | - TVDAC_A_SENSE_CTL | - TVDAC_B_SENSE_CTL | - TVDAC_C_SENSE_CTL | - DAC_CTL_OVERRIDE | + tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | + TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); + /* + * The TV sense state is set to zero on cantiga platform. Otherwise + * the TV is misdetected. + */ + if (!IS_GM45(dev)) + tv_dac |= (TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | + TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); + + tv_dac |= (DAC_CTL_OVERRIDE | DAC_A_0_7_V | DAC_B_0_7_V | DAC_C_0_7_V); -- 1.5.4.5