> - Interrupts
>
>       You don't use these right now, and as far as I can tell the main
>       reason for using them would be to just synchronize page flipping
>       with the framerate. No?

Which would be nice to have proper frame-sync on interlaced display
(especially with Michel Danzer work on using DRM for Xv blits).

> - IOIO and IOMEM access
>
>       iopl() gives access to IOIO

Which sucks on non-x86, but here XFree has it's own stuffs anyway

>       mmap() and AGP driver gives access to IOMEM/AGP

That one is problematic. I don't support the mmap interface properly
on Apple chipsets for example, because they don't support the AGP
aperture beeing accessed by the CPU. I play mapping tricks for the
in-kernel mapping of the aperture (using a home made agp_ioremap in
the DRM) and I use special vm_ops for drmMap of the AGP so that the
real mem pages get mapped in the client processes.
I could do the same with the AGP driver, though the main problem with
it currently is that clients using it via the ioctl interface tend to
first mmap the aperture, then bind/unbind memory to/from it.

I don't say that can't be fixed though ;)

I would much prefer the agpgart interface to be redisigned around
different semantics, mostly vmalloc() some space to use as AGP memory,
then bind that to the GART, but don't rely on direct AGP aperture
access.

There are also some slight speed improvements to win using this
sheme as I could map the AGP memory as cacheable (which would give a
significant boost on PPC) provided buffers & ring get properly flushed
before beeing "passed" to the chip.


Ben.



----------------------------------------------------------------------------
                   Bringing you mounds of caffeinated joy
                      >>>     http://thinkgeek.com/sf    <<<

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to