Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Jan 1998 13:50:49 +1100
From:      David Dawes <dawes@rf900.physics.usyd.edu.au>
To:        Stefan Esser <se@FreeBSD.ORG>
Cc:        Amancio Hasty <hasty@rah.star-gate.com>, hackers@FreeBSD.ORG
Subject:   Re: ANNOUNCE: Fastvid module available!
Message-ID:  <19980124135049.46451@rf900.physics.usyd.edu.au>
In-Reply-To: <19980122211731.37323@mi.uni-koeln.de>; from Stefan Esser on Thu, Jan 22, 1998 at 09:17:31PM %2B0100
References:  <199801090700.AA299089244@pollux.hrz.uni-bielefeld.de> <199801210936.BAA03932@rah.star-gate.com> <19980122211731.37323@mi.uni-koeln.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 22, 1998 at 09:17:31PM +0100, Stefan Esser wrote:

>> 4. If the pci code is up to it it would be nice to dump the pci configuration
>>    for all the devices and if possible properly identify the devices. 
>>    The probe code already does some of this so it should not be that 
>>    difficult if the pci code can return a list of currently installed pci
>>    devices along with their respective configuration.
>
>The PCI code already is "up to it". You only have to call a
>"fastvid" function from the VGA attach code. All the PCI map
>registers are available, and you can just make the largest 
>memory mapped region "fast".
>
>Multiple regions should be OK, too, if supported by the CPU.

Only do this for the framebuffer areas, not memory mapped I/O areas.
Those chipsets that have separate memory regions allocated for the
framebuffer and MMIO typically mark the framebuffer area a pre-fetchable,
and the MMIO area as non-pre-fetchable.  Some cards (some examples are
some S3 cards and some Mach64-based cards) have a single region, which
is divided up into framebuffer and MMIO.  It would be marked as
non-pre-fetchable.  To use something like fastvid effectively in that
case, you need to have some knowledge of how that area is organised.
Furthermore, some S3 chipsets have a bug that can result in the PCI
BIOS giving them a memory area aligned to 32MB instead of the required
64MB.  This can also result in a clash between the video card memory
and that of other PCI devices.  The XFree86 S3 server detects this and
remaps.  If the kernel is going to do fastvid, it should know about this
too.

While I generally like the idea of the OS taking care of this sort of
thing, it can still be useful to provide a way for something like the
Xserver to check and maybe change such things.

I don't know if any of you have had a look at what the Linux people
are doing in this area.  If you're interested, you can contact
Richard Gooch <rgooch@atnf.csiro.au>.

David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980124135049.46451>