From 079a0913be0ed3d66c6ca2820bfdc65b80da479c Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Wed, 10 Oct 2007 10:14:07 +0000 Subject: sync with experimental branch (changeset 401-403,405-407) --- src/via_vbe.c | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'src/via_vbe.c') 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); } -- cgit v1.2.3