Re: request_region for MMIO?

Jes Sorensen (Jes.Sorensen@cern.ch)
01 Feb 1999 15:22:17 +0100


>>>>> "Gabriel" == Gabriel Paubert <paubert@iram.es> writes:

Gabriel> On Mon, 1 Feb 1999, Geert Uytterhoeven wrote:

>> Is it OK to use request_region() for claiming memory mapped I/O
>> registers?

Gabriel> No. MMIO has nothing to see with I/O ports. They are
Gabriel> different spaces (different encodings of cycle type on the
Gabriel> PCI bus for example), so they can't even conflict.

Gabriel> Perhaps a /proc/mmioareas (choose the name you want, I can't
Gabriel> find anything nice right now) should be added. OTOH, PCI
Gabriel> should guarantee by design that no conflict can occur, if you
Gabriel> forget the fact most PCI BIOSes are buggy and some device do
Gabriel> not comply with the PCI spec (some do not even correctly
Gabriel> implement the first 0x10 bytes of the configuration space
Gabriel> header).

There is nothing preventing a manufacturer to design a card with IDE,
serial, SCSI, video and sound on the same card and with all the
registers within the same mmio region.

[snip]

Gabriel> At the very least a different list of resources should be
Gabriel> created for MMIO. Also this type of resource structure might
Gabriel> perhaps be designed to nicely handle the case where addresses
Gabriel> are not the same on both sides of the bridges (like PreP MMIO
Gabriel> and 64 bit machines). In any case, it is very probably 2.3
Gabriel> stuff...

The one reason why I do not think this is such a good idea is that
this it will be nasty to put it into the mm layer to deal with cases
where an X server wants to mmap the same registers as are currently
being used by a kernel fb driver and similar.

Jes

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