diff options
author | Thomas Hellstrom <unichrome@shipmail.org> | 2006-02-22 14:54:13 +0000 |
---|---|---|
committer | Thomas Hellstrom <unichrome@shipmail.org> | 2006-02-22 14:54:13 +0000 |
commit | 559978f889752db768641750283ff34737e5b1d3 (patch) | |
tree | e58b0c670a4d4248ddffc8d4e6a967f2729e0c50 | |
parent | f73f86f2449f919792df8625746dbfdab49b6886 (diff) |
Move VRAM clear to VIAScreenInit. Fixes sometimes-hang in ViaVbeSetMode.
The clear will be accelerated when EXA is pulled in.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/via_driver.c | 3 | ||||
-rw-r--r-- | src/via_mode.c | 4 | ||||
-rw-r--r-- | src/via_vbe.c | 3 |
4 files changed, 11 insertions, 7 deletions
@@ -1,5 +1,13 @@ 2006-02-22 Thomas Hellstrom <thomas-at-tungstengraphics.com> + * src/via_driver.c: (VIAScreenInit): + * src/via_mode.c: (ViaModePrimary): + * src/via_vbe.c: (ViaVbeSetMode): + Move VRAM clear to VIAScreenInit. Fixes sometimes-hang in ViaVbeSetMode. + The clear will be accelerated when EXA is pulled in. + +2006-02-22 Thomas Hellstrom <thomas-at-tungstengraphics.com> + * src/via_vt162x.c: (VT1622ModeCrtc): Don't depend on BIOS to enable the TV-out controller of Unichrome Pros (openChrome Chgset 107) diff --git a/src/via_driver.c b/src/via_driver.c index 3e637cb..4cd5958 100644 --- a/src/via_driver.c +++ b/src/via_driver.c @@ -2017,6 +2017,9 @@ VIAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- Palette loaded\n")); + if (!pVia->IsSecondary) + memset(pVia->FBBase, 0x00, pVia->videoRambytes); + vgaHWBlankScreen(pScrn, TRUE); pVia->CloseScreen = pScreen->CloseScreen; diff --git a/src/via_mode.c b/src/via_mode.c index 1e45396..d2d3e78 100644 --- a/src/via_mode.c +++ b/src/via_mode.c @@ -1643,10 +1643,6 @@ ViaModePrimary(ScrnInfoPtr pScrn, DisplayModePtr mode) pBIOSInfo->Clock = ViaModeDotClockTranslate(pScrn, mode); pBIOSInfo->ClockExternal = FALSE; - /* Don't do this before the Sequencer is set: locks up KM400 and K8M800 */ - if (pVia->FirstInit) - memset(pVia->FBBase, 0x00, pVia->videoRambytes); - /* Enable MMIO & PCI burst (1 wait state) */ ViaSeqMask(hwp, 0x1A, 0x06, 0x06); diff --git a/src/via_vbe.c b/src/via_vbe.c index 911263a..e23b224 100644 --- a/src/via_vbe.c +++ b/src/via_vbe.c @@ -124,9 +124,6 @@ ViaVbeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode) pVia->OverlaySupported = FALSE; - if (pVia->FirstInit) - memset(pVia->FBBase, 0x00, pVia->videoRambytes); - data = (VbeModeInfoData*)pMode->Private; mode = data->mode | (1 << 15); |