diff options
author | Evgeny M. Zubok <evgeny.zubok@tochka.ru> | 2009-06-25 19:48:34 +0400 |
---|---|---|
committer | Evgeny M. Zubok <evgeny.zubok@tochka.ru> | 2009-06-25 19:48:34 +0400 |
commit | 2b83d07b90efd15756cf8c4c80f7f60c0e7cee2a (patch) | |
tree | 84dfbe8f28fc39581c7818e2b9ee33fe12e766de | |
parent | bf6bdcc1220f3ed8c636e869c4b13e27923a139e (diff) |
Revert the using of BIOS defaults for the VRAM/DRAM timings
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | man/s3.man | 14 | ||||
-rw-r--r-- | src/s3_driver.c | 25 |
3 files changed, 20 insertions, 31 deletions
@@ -1,3 +1,13 @@ +2009-06-25 Evgeny M. zubok <evgeny.zubok@tochka.ru> + + * src/s3_driver.c: + Revert the old behaviour when the BIOS settings are used for + intialization of DRAM/VRAM timings, i. e. we don't touch the + timings during initialization phase until any memory option (like + slow_edodram) is specified. + + Add manual page. + 2009-05-25 Evgeny M. Zubok <evgeny.zubok@tochka.ru> * src/s3_driver.c: @@ -20,7 +30,7 @@ * src/s3_shadow.c: Add shadowFB option. It can be used to speedup drawing when - hardware acceleration is unwanted or unavailable (for colour depth + hardware acceleration is undesirable or unavailable (for colour depth 24 with 24 bpp framebuffer, for example). shadowFB is disabled by default. Enabling shadowFB option disables HW acceleration. Thanks to Egor Ivanov for initial porting of shadowFB from s3virge. @@ -51,7 +51,7 @@ driver supports PCI video cards based on the following S3 chips: .PP Also driver supports the following RAMDACs: .TP 12 -.B IBM 524A +.B IBM 524, IBM 524A, IBM 526, IBM 526DB .TP 12 .B TI ViewPoint 3025 @@ -163,9 +163,9 @@ lower either the resolution or framebuffer's depth or both before the viewing, otherwise, you will get the allocation error and will not see the video. For example, with 24 bpp framebuffer and the same resolution 800x600 the offscreen area will be about 640 kB - it's -enough for the 640x480 frame. 800x600 with the 16bpp framebuffer gives -about 1110 kB of offscreen area - this allows to upscale up to 768x576 -movies. Note, that all movie resolutions in examples above are +enough for the 640x480 frame. 800x600 with the 16 bpp framebuffer +gives about 1110 kB of offscreen area - this allows to upscale up to +768x576 movies. Note, that all movie resolutions in examples above are provided as a reference; the movies can have the different aspect ratios and non-standard dimensions. A total pixel amount is the main consideration not the certain width and height. @@ -212,12 +212,12 @@ cycle). .BI "Option \*qslow_edodram\*q \*q" boolean \*q Switch to 2-cycle EDO mode. Try this if you encounter pixel corruption. Using this option will cause a decrease in -performance. Default: off (1-cycle EDO mode). +performance. Default: off (BIOS defaults). .TP .BI "Option \*qslow_dram\*q \*q" boolean \*q For Trio and Aurora64V+ chips: increase -RAS Precharge Timing to 3.5 -MCLK. Try this option if you encounter pixel errors. Default: off (2.5 -MCLK). +MCLK. Try this option if you encounter pixel errors. Default: off +(BIOS defaults). .TP .BI "Option \*qslow_vram\*q \*q" boolean \*q For Vision964, Vision968 chips: increase -RAS Low Timing to 4.5 diff --git a/src/s3_driver.c b/src/s3_driver.c index 5d6623f..d5b01bf 100644 --- a/src/s3_driver.c +++ b/src/s3_driver.c @@ -1659,35 +1659,14 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) new->cr66 |= 0x80; outb(vgaCRReg, new->cr66); + if (pS3->SlowDRAMRefresh) new->cr3a = 0xb7; - else + else new->cr3a = 0xb5; outb(vgaCRIndex, 0x3a); outb(vgaCRReg, new->cr3a); - /* - Set 3.5 MCLKs for -RAS low, 2.5 MCLKs for -RAS precharge, - disable -CAS/-OE adjustment. It seems that cr68 has different - format for 96x and TRIOs - */ - if (!((pS3->Chipset == PCI_CHIP_968) || - (pS3->Chipset == PCI_CHIP_964_0) || - (pS3->Chipset == PCI_CHIP_964_1))) { - - outb(vgaCRIndex, 0x39); - outb(vgaCRReg, 0xa5); - - outb(vgaCRIndex, 0x68); - tmp = inb(vgaCRReg) & ~0x0f; - outb(vgaCRReg, tmp | 0x0f); - - /* Enable 1-cycle EDO access */ - outb(vgaCRIndex, 0x36); - tmp = inb(vgaCRReg); - outb(vgaCRReg, tmp & 0xf3); - } - if (pS3->SlowVRAM) { /* * some Diamond Stealth 64 VRAM cards have a problem with |