lkml.org 
[lkml]   [2000]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectVGA PCI IO port reservations
Date
Hi,

I've been looking at a number of VGA cards recently, and I've started
wondering out the Linux resource management as far as allocation of
IO ports. I've come to the conclusion that it does not contain all
information necessary to allow allocations to be made safely.

Thus far, VGA cards that I've looked at scatter extra registers through
out the PCI IO memory region without appearing in the PCI BARs. In fact,
for some cards there wouldn't be enough BARs to list them all.

For example, S3 cards typically use:

0x0102, 0x42e8, 0x46e8, 0x4ae8, 0x8180 - 0x8200, 0x82e8, 0x86e8,
0x8ae8, 0x8ee8, 0x92e8, 0x96e8, 0x9ae8, 0x9ee8, 0xa2e8, 0xa6e8,
0xaae8, 0xaee8, 0xb2e8, 0xb6e8, 0xbae8, 0xbee8, 0xe2e8,
0xff00 - 0xff44

And Trident TGUI9440 uses:

0x2120, 0x43c4

Cyber2000-type cards use:

0x0102, 0x46e8

These aren't guaranteed to be exhaustive listings either.

Some of these cards require writes to these registers to "wake them up"
so I think we can assume that these cards are listening for accesses to
those ports. If we allocate another device to use that region, we could
well end up getting IO port clashes.

Surely we should be reserving these regions before we start to allocate
resources to PCI cards?

Comments?
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King rmk@arm.linux.org.uk --- ---
| | | | http://www.arm.linux.org.uk/personal/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |
-
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/

\
 
 \ /
  Last update: 2005-03-22 12:47    [W:0.079 / U:0.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site