summaryrefslogtreecommitdiff
path: root/src/via_vbe.c
diff options
context:
space:
mode:
authorXavier Bachelot <xavier@bachelot.org>2007-10-10 10:14:07 +0000
committerXavier Bachelot <xavier@bachelot.org>2007-10-10 10:14:07 +0000
commit079a0913be0ed3d66c6ca2820bfdc65b80da479c (patch)
tree17b3aba3f8d8ea734c2be2850597cb968a389561 /src/via_vbe.c
parent4005c48c5944d2141854ce40899fcb4f744a6c94 (diff)
sync with experimental branch (changeset 401-403,405-407)
Diffstat (limited to 'src/via_vbe.c')
-rw-r--r--src/via_vbe.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/via_vbe.c b/src/via_vbe.c
index e7ce88c74deb..4122558bdeed 100644
--- a/src/via_vbe.c
+++ b/src/via_vbe.c
@@ -133,20 +133,20 @@ static Bool ViaVbeSetActiveDevices( ScrnInfoPtr pScrn, int mode, int refresh ) {
}
/*
- * Sets the panel expansion mode
+ * Sets the panel mode (expand or center)
*/
-static Bool ViaVbeSetPanelExpansion(ScrnInfoPtr pScrn, Bool expanded) {
+static Bool ViaVbeSetPanelMode(ScrnInfoPtr pScrn, Bool expand) {
VIAPtr pVia = VIAPTR(pScrn);
VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
vbeInfoPtr pVbe = pVia->pVbe;
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaVbeSetPanelExpansion\n"));
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaVbeSetPanelMode\n"));
ViaVbeInitInt10(pVbe);
pVbe->pInt10->ax = 0x4F14;
pVbe->pInt10->bx = 0x0306;
- pVbe->pInt10->cx = 0x80 | expanded;
+ pVbe->pInt10->cx = 0x80 | expand;
xf86ExecX86int10(pVbe->pInt10);
@@ -241,9 +241,14 @@ ViaVbeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode)
}
}
} else {
+
if (pBIOSInfo->PanelActive && !pVia->useLegacyVBE) {
- if (!ViaVbeSetPanelExpansion(pScrn, !pBIOSInfo->Center)) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to set the panel expansion.\n");
+ /*
+ * FIXME: should we always set the panel expansion?
+ * does it depend on the resolution?
+ */
+ if (!ViaVbeSetPanelMode(pScrn, !pBIOSInfo->Center)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to set the panel mode.\n");
}
}
@@ -264,19 +269,6 @@ ViaVbeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode)
pScrn->vtSema = TRUE;
-/*
- pVia->Bpp = data->data->BitsPerPixel >> 3;
- pVia->Bpl = data->data->XResolution * pVia->Bpp;
-*/
-
- if (!pVia->NoAccel) {
-#ifdef XF86DRI || defined(VIA_HAVE_EXA)
- VIAInitialize3DEngine(pScrn);
-#endif
- viaInitialize2DEngine(pScrn);
- }
- ViaVbeAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
-
return (TRUE);
}