summaryrefslogtreecommitdiff
path: root/src/atilock.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2005-03-26 00:53:01 +0000
committerDave Airlie <airlied@linux.ie>2005-03-26 00:53:01 +0000
commit04cbb8d174cc5e3c7ecdd4e171170213ecb3c7ed (patch)
treec10f24d28e53dba3db25540f774f3ae1c98f6ab0 /src/atilock.c
parent5be4bf9000bdf58584a10a6b8e285d0f173304fa (diff)
bugzilla #2057 (https://bugs.freedesktop.org/show_bug.cgi?id=2057)
attachment #1516 (https://bugs.freedesktop.org/attachment.cgi?id=1516) Add TVOUT Support for Mach64 (Leif Delgass, fixed up for Xorg by me).
Diffstat (limited to 'src/atilock.c')
-rw-r--r--src/atilock.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/atilock.c b/src/atilock.c
index 8dafcf7..8b40d6d 100644
--- a/src/atilock.c
+++ b/src/atilock.c
@@ -154,9 +154,14 @@ ATIUnlock
*/
if (!pATI->OptionBIOSDisplay && (pATI->Chip != ATI_CHIP_264XL))
{
- pATI->LockData.scratch_reg3 = inr(SCRATCH_REG3);
- outr(SCRATCH_REG3,
- pATI->LockData.scratch_reg3 | DISPLAY_SWITCH_DISABLE);
+#ifdef TV_OUT
+ pATI->LockData.scratch_reg3 = inr(SCRATCH_REG3) & ~DISPLAY_SWITCH_DISABLE;
+ outr(SCRATCH_REG3, pATI->LockData.scratch_reg3);
+#else
+ pATI->LockData.scratch_reg3 = inr(SCRATCH_REG3);
+ outr(SCRATCH_REG3,
+ pATI->LockData.scratch_reg3 | DISPLAY_SWITCH_DISABLE);
+#endif /* TV_OUT */
}
}
@@ -575,14 +580,18 @@ ATILock
if ((pATI->LCDPanelID >= 0) && (pATI->Chip != ATI_CHIP_264LT))
{
outr(LCD_INDEX, pATI->LockData.lcd_index);
+#ifndef TV_OUT
if (!pATI->OptionBIOSDisplay && (pATI->Chip != ATI_CHIP_264XL))
outr(SCRATCH_REG3, pATI->LockData.scratch_reg3);
+#endif /* TV_OUT */
}
if (pATI->Chip >= ATI_CHIP_264VTB)
{
outr(MPP_CONFIG, pATI->LockData.mpp_config);
outr(MPP_STROBE_SEQ, pATI->LockData.mpp_strobe_seq);
+#ifndef TV_OUT
outr(TVO_CNTL, pATI->LockData.tvo_cntl);
+#endif /* TV_OUT */
if (pATI->Chip >= ATI_CHIP_264GT2C)
{
outr(HW_DEBUG, pATI->LockData.hw_debug);