summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorling.ma@intel.com <ling.ma@intel.com>2009-06-16 16:52:25 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2009-06-17 10:06:02 +0800
commitb5cd2130f97591f4a387db1b98c940c30bc6404c (patch)
treea1fa7f2b7de9ec16749e2d67fa2b088fae24c510
parenta6cdcd9fee0164f79075063fd163d142a55fcbc5 (diff)
TV: Set correct voltage level override values
We detect TV connect status by setting DAC voltage level override values as 0.7 voltage for DAC_A/B/C. The corresponding 2-bits shold be 0x2, In order correctly to set last bit as 0, at first we must clean it. It fixed freedesktop.org bug #21204 Signed-off-by: Ma Ling <ling.ma@intel.com>
-rw-r--r--src/i810_reg.h6
-rw-r--r--src/i830_tv.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/src/i810_reg.h b/src/i810_reg.h
index ae1933d3..64f2222a 100644
--- a/src/i810_reg.h
+++ b/src/i810_reg.h
@@ -1676,15 +1676,15 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# define DAC_A_1_3_V (0 << 4)
# define DAC_A_1_1_V (1 << 4)
# define DAC_A_0_7_V (2 << 4)
-# define DAC_A_OFF (3 << 4)
+# define DAC_A_MASK (3 << 4)
# define DAC_B_1_3_V (0 << 2)
# define DAC_B_1_1_V (1 << 2)
# define DAC_B_0_7_V (2 << 2)
-# define DAC_B_OFF (3 << 2)
+# define DAC_B_MASK (3 << 2)
# define DAC_C_1_3_V (0 << 0)
# define DAC_C_1_1_V (1 << 0)
# define DAC_C_0_7_V (2 << 0)
-# define DAC_C_OFF (3 << 0)
+# define DAC_C_MASK (3 << 0)
/** @} */
/**
diff --git a/src/i830_tv.c b/src/i830_tv.c
index 8eb3e263..7082aba9 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1386,6 +1386,9 @@ i830_tv_detect_type (xf86CrtcPtr crtc,
tv_ctl &= ~TV_TEST_MODE_MASK;
tv_ctl |= TV_TEST_MODE_MONITOR_DETECT;
tv_dac &= ~TVDAC_SENSE_MASK;
+ 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 |