Re: G400 behavior different, 2.2.18->2.4.0

Petr Vandrovec (VANDROVE@vc.cvut.cz)
Tue, 16 Jan 2001 23:27:02 MET-1


On 16 Jan 01 at 17:16, Chad Miller wrote:

(added mj@suse.cz, as he may be interested in one range behind bridge
overlapping both forwarding ranges...)

> #00:01.0 PCI bridge: VIA Technologies, Inc. VT8371 [KX133 AGP] (prog-if \
> #00 [Normal decode])
> # Flags: bus master, 66Mhz, medium devsel, latency 0
> # Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> # Memory behind bridge: d4000000-d6ffffff
> # Prefetchable memory behind bridge: d7000000-d8ffffff
> # Capabilities: [80] Power Management version 2
> #01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP \
> #(rev 05) (prog-if 00 [VGA])
> # Subsystem: Matrox Graphics, Inc. Millennium G400 MAX/Dual Head 32Mb
> # Flags: bus master, VGA palette snoop, medium devsel, latency 32, IRQ 10
> # Memory at d6000000 (32-bit, prefetchable)
> # Memory at d4000000 (32-bit, non-prefetchable)
> # Memory at d5000000 (32-bit, non-prefetchable)
> # Capabilities: [dc] Power Management version 2
> # Capabilities: [f0] AGP version 2.0

Please, add your BIOS into list of broken BIOSes and stop complaining ;-)

Your BIOS splitted 32MB G400 range into 16MB non-prefetchable d600-d6ff
and 16MB prefetchable (d700-d7ff) range. Probably BIOS though that it
is setting G400 framebuffer at D7000000 for 32MB, but as D7000000 is not
multiple of 32MB, it cannot work.

You should try upgrading BIOS. If it does not help... you can try
kernel resources assigning code, but as it skips VGA adapters currently,
it is long way to go.

BTW, correct BIOS should put G400's resource #1 at D4000000, #2 at D4800000,
and #0 at D6000000. Programming non-prefetchable range for D400-D4FF,
and prefetchable as D600-D7FF... Leaving D5xx unused.
Sorry for bad news,
Petr Vandrovec
vandrove@vc.cvut.cz

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/