diff options
author | ling.ma@intel.com <ling.ma@intel.com> | 2009-06-16 16:52:25 +0800 |
---|---|---|
committer | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2009-06-17 10:06:02 +0800 |
commit | b5cd2130f97591f4a387db1b98c940c30bc6404c (patch) | |
tree | a1fa7f2b7de9ec16749e2d67fa2b088fae24c510 /src | |
parent | a6cdcd9fee0164f79075063fd163d142a55fcbc5 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/i810_reg.h | 6 | ||||
-rw-r--r-- | src/i830_tv.c | 3 |
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 | |