summaryrefslogtreecommitdiff
path: root/src/savage_vbe.c
diff options
context:
space:
mode:
authorAlex Deucher <agd5f@yahoo.com>2004-09-18 13:37:30 +0000
committerAlex Deucher <agd5f@yahoo.com>2004-09-18 13:37:30 +0000
commitfc8bd5bde48424e47020eae179c8b331ff69595a (patch)
tree54d90904518c5356086a48271159b5da9dbb5c8d /src/savage_vbe.c
parentb26f6666dce97427e7032984aec3662e35cb2dc6 (diff)
Re-add BIOS panel off code for dpms (Felix Kuehling) Fix weird mode problem
on savage4 with dvi and some panels (Felix Kuehling)
Diffstat (limited to 'src/savage_vbe.c')
-rw-r--r--src/savage_vbe.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/savage_vbe.c b/src/savage_vbe.c
index 25e64da..a796850 100644
--- a/src/savage_vbe.c
+++ b/src/savage_vbe.c
@@ -122,6 +122,23 @@ SavageSetVESAMode( SavagePtr psav, int n, int Refresh )
#endif
}
+void
+SavageSetPanelEnabled( SavagePtr psav, Bool active )
+{
+ int iDevInfo;
+ if( !psav->PanelX )
+ return; /* no panel */
+ iDevInfo = SavageGetDevice( psav );
+ if( active )
+ iDevInfo |= LCD_ACTIVE;
+ else
+ iDevInfo &= ~LCD_ACTIVE;
+ SavageClearVM86Regs( psav->pVbe->pInt10 );
+ psav->pVbe->pInt10->ax = 0x4f14; /* S3 extensions */
+ psav->pVbe->pInt10->bx = 0x0003; /* set active devices */
+ psav->pVbe->pInt10->cx = iDevInfo;
+ xf86ExecX86int10( psav->pVbe->pInt10 );
+}
/* Function to get supported device list. */