Index: [thread] [date] [subject] [author]
  From: Brian S. Julin <bri@tull.umassp.edu>
  To  : Bob Barry <bobb@adsme.co.za>
  Date: Tue, 11 May 1999 08:50:46 -0400 (EDT)

Re: Multiple ATI Video Cards

On Tue, 11 May 1999, Bob Barry wrote:
> I'd say"just something".   The second (fb1) card is shown by lspci to be
> "disabled", so I'm now looking for the proper way to activate it.   Suggestions
> would be welcomed.

Here's a more serious summary of how I did it while testing on a standard 
kernel.

1) Booted with no-scroll and used a VGA soft cursor so the kernel wasn't 
accessing PIO to move the cursor or scroll the screen.  The soft-cursor
docs are in linux/Documentation/VGA-softcursor.txt.

2) Edited the /proc/bus/pci entry for the active card to deactivate 
PIO on this card.  The defs for the PCI config space that identify
the bit to change are in the bios32/pci kernal header files.
IMPORTANT NOTE: the endianness in PCI config space is really screwed,
and the headers are written to compensate for the fact that appears
as not only little endian, but the nybbles are reversed, too.  Try to
make sense of the raw data a bit and compare it to what you know
from lspci to get a feel for what bits are where.

3) Edited the /proc/bus/pci entry for the disabled card to enable
PIO.

4) Started X specifying a different MMIO fb region than the formerly active
card.  I got a garbage X screen on the new display, because X didn't know
how to poke all the card's registers.  But at least I got something,
meaning if I could get the card initialized I could get it running.

I was working with Mach32's but the portions of pci config space you need
are identical for all cards.

--
Brian

Index: [thread] [date] [subject] [author]