summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellstrom <unichrome@shipmail.org>2006-02-22 14:54:13 +0000
committerThomas Hellstrom <unichrome@shipmail.org>2006-02-22 14:54:13 +0000
commit559978f889752db768641750283ff34737e5b1d3 (patch)
treee58b0c670a4d4248ddffc8d4e6a967f2729e0c50
parentf73f86f2449f919792df8625746dbfdab49b6886 (diff)
Move VRAM clear to VIAScreenInit. Fixes sometimes-hang in ViaVbeSetMode.
The clear will be accelerated when EXA is pulled in.
-rw-r--r--ChangeLog8
-rw-r--r--src/via_driver.c3
-rw-r--r--src/via_mode.c4
-rw-r--r--src/via_vbe.c3
4 files changed, 11 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 70f14f9..9c4b351 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);