summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2008-07-01 14:07:15 -0400
committerAdam Jackson <ajax@redhat.com>2008-07-01 14:07:15 -0400
commitea57dcf423ebc3cb24060eebfc1943703448c320 (patch)
treeace7af592604dfdc9e2dd3f336457aa35af74576
parent3631892e0c53568b9f6b0c4aeacd2354305376e6 (diff)
downloadxorg-driver-xf86-video-vesa-ea57dcf423ebc3cb24060eebfc1943703448c320.tar.gz
Use VBE services for DPMS instead of banging VGA registers manually.
-rw-r--r--src/vesa.c34
1 files changed, 1 insertions, 33 deletions
diff --git a/src/vesa.c b/src/vesa.c
index f0f2522..865bdb0 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -1656,45 +1656,13 @@ VESADisplayPowerManagementSet(ScrnInfoPtr pScrn, int mode,
int flags)
{
VESAPtr pVesa = VESAGetRec(pScrn);
- unsigned char seq1 = 0, crtc17 = 0;
if (!pScrn->vtSema)
return;
- switch (mode) {
- case DPMSModeOn:
- /* Screen: On; HSync: On, VSync: On */
- seq1 = 0x00;
- crtc17 = 0x80;
- break;
- case DPMSModeStandby:
- /* Screen: Off; HSync: Off, VSync: On -- Not Supported */
- seq1 = 0x20;
- crtc17 = 0x80;
- break;
- case DPMSModeSuspend:
- /* Screen: Off; HSync: On, VSync: Off -- Not Supported */
- seq1 = 0x20;
- crtc17 = 0x80;
- break;
- case DPMSModeOff:
- /* Screen: Off; HSync: Off, VSync: Off */
- seq1 = 0x20;
- crtc17 = 0x00;
- break;
- }
- WriteSeq(0x00, 0x01); /* Synchronous Reset */
- seq1 |= ReadSeq(pVesa, 0x01) & ~0x20;
- WriteSeq(0x01, seq1);
- crtc17 |= ReadCrtc(pVesa, 0x17) & ~0x80;
- usleep(10000);
- WriteCrtc(0x17, crtc17);
- WriteSeq(0x00, 0x03); /* End Reset */
+ VBEDPMSSet(pVesa->pVbe, mode);
}
-
-
-
/***********************************************************************
* DGA stuff
***********************************************************************/