Subject: More news on my video card trouble in Miata
To: None <port-alpha@netbsd.org>
From: Olaf Seibert <rhialto@polder.ubc.kun.nl>
List: port-alpha
Date: 12/10/1999 00:51:08
I *think* I determined that my problems with the S3 Vision 864 in my
Miata with Pyxis bug are not related to the to the Pyxis bug after all.
This is what I did, maybe someone can tell if there is a hole in my
reasoning.

I moved the card to a 32-bit slot. This causes the SRM to ignore the
card completely, in the sense that it is not initialised. However, if
the keyboard is plugged in, it does not switch to the serial console so
I suppose it tries to use it anyway. The screen however remains black
and the monitor turned off. Therefore, I only plugged in the keyboard
after the SRM had manifested itself on the serial console.

I used a kernel with an instrumented /usr/src/sys/dev/ic/vga.c, which
printed the resultsof all steps in vga_common_probe(). Unfortunately my
dmesg output was eaten by fsck (I should have synced) but reconstructed,
it must have read

vga_common_probe: entering
vga_common_probe: mono = 0
vga_common_probe: dispoffset = 0x18000
vga_common_probe: vgadata = 0x0
(there was NO vga_common_probe: 0xa55a write/read test failed)
vga_common_probe: VGA_ATC_DATAR check failed
(I had rigged the probe to ignore that error)
vga_common_probe: rv = 1, gotmem = 1, gotio_6845 = 1, gotio_vga = 1

In other words, the only thing that failed was labeled in a comment as
"check if this is really a VGA" and I think that's probably not fatal.
I already know it's a VGA card, and it works to a certain extent,
including colours, if initialised by the SRM.

Through all this, the monitor remained turned off and I worked off the
serial console in single user mode.

A simple echo hi > /dev/ttyE0 gave an error, so I ran rc.wscons to
enable ttyE0 (and higher). This gave no error messages. A repeated echo
hi > /dev/ttyE0 now gave no complaint anymore.

A man sh >/dev/ttyE0 hung (or rebooted, hard to tell before I hit the
reset switch myself) the machine.

So, since Pyxis bugs are supposed to be avoided by the PCI-PCI bridge,
this cannot be a Pyxis problem. Instead it must be a problem with the
card, the vga driver, or the combination.

I even suspect it is related to dispoffset, since the main problem
(random garbage on-screen) appears to occur after scrolling n screens
worth of text, and when virtual console switching.

Comments on these conclusions?

Btw, is it possible for the kernel to initialise VGA cards if the
firmware neglects to do it? My test would have been more reliable if I
could have seen what was happening...

-Olaf.
--
___ Olaf 'Rhialto' Seibert - rhialto@polder.ubc.     -- If one tells the truth,
\X/ .kun.nl     -- one is sure, sooner or later, to be found out. (Oscar Wilde)