diff options
author | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2010-12-15 20:19:56 +0000 |
---|---|---|
committer | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2010-12-15 20:19:56 +0000 |
commit | b9f239eac6e87139e8882b65cded51da96902cce (patch) | |
tree | b1c012c2a5315567f47e63e8faad3b8db842889d | |
parent | 242f8ee3b7e76e66091708547deb385ab355cd8a (diff) |
Enable new mode switch and panel support on K8M800 and VM800
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/via_driver.c | 12 | ||||
-rw-r--r-- | src/via_mode.c | 7 |
3 files changed, 14 insertions, 12 deletions
@@ -1,3 +1,10 @@ +2010-12-15 Bartosz Kosiorek <gang65@poczta.onet.pl> + + Enable the new mode switch and panel support on K8M800 and VM800 chipsets + + * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit): + * src/via_mode.c: (ViaModeSet): + 2010-11-10 Bartosz Kosiorek <gang65@poczta.onet.pl> Replace the deprecated functions diff --git a/src/via_driver.c b/src/via_driver.c index f8198d5..ec62102 100644 --- a/src/via_driver.c +++ b/src/via_driver.c @@ -725,7 +725,6 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn) break; case VIA_K8M800: pVia->DRIIrqEnable = FALSE; - pVia->UseLegacyModeSwitch = TRUE; break; case VIA_PM800: /* Use new mode switch to resolve many resolution and display bugs (switch to console) */ @@ -735,7 +734,6 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn) case VIA_VM800: /* New mode switch resolve bug with gamma set #282 */ /* and with Xv after hibernate #240 */ - /* FIXME Add panel support for this chipset */ break; case VIA_CX700: pVia->VideoEngine = VIDEO_ENGINE_CME; @@ -1616,16 +1614,6 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags) ViaPanelPreInit(pScrn); } - if (pBIOSInfo->Panel->IsActive && - ((pVia->Chipset == VIA_K8M800) || - (pVia->Chipset == VIA_VM800))) { - xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Panel on K8M800 and " - "VM800 is currently not supported.\n"); - xf86DrvMsg(pScrn->scrnIndex, X_WARNING, - "Using VBE to set modes to work around this.\n"); - pVia->useVBEModes = TRUE; - } - pVia->pVbe = NULL; if (pVia->useVBEModes) { /* VBE doesn't properly initialise int10 itself. */ diff --git a/src/via_mode.c b/src/via_mode.c index 37ef7ba..ca1f0f2 100644 --- a/src/via_mode.c +++ b/src/via_mode.c @@ -1734,6 +1734,13 @@ ViaModeSet(ScrnInfoPtr pScrn, DisplayModePtr mode) ViaDisplayDisableCRT(pScrn); } + // Enable panel support on K8M800 and VM800 chipset + // See: https://bugs.launchpad.net/openchrome/+bug/186103 + if (pBIOSInfo->Panel->IsActive && + ((pVia->Chipset == VIA_K8M800) || + (pVia->Chipset == VIA_VM800))) + ViaModeFirstCRTC(pScrn, mode); + if (pBIOSInfo->Simultaneous->IsActive) { ViaDisplayEnableSimultaneous(pScrn); } else { |