Re: mmap_dma() for user space code?

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 15 Jul 1998 13:32:48 +0100 (BST)


> tasks, I have also come across the problem of trying to figure out
> how to allocate a chunk of physically contiguous, page-locked memory
> that can be used for PCI bus master DMA operations. This is not for
> getting the BIOS to work, but rather for getting our 2D and 3D
> acceleration code working under Linux.

You need to allocate it kernel side, and map it via a device into user
space. The bttv driver in 2.1.x does this. In your case I suspect you are
talking about implementing a /dev/dmamem device in effect.

> If not, what do we need to do in order to get it implemented? I would
> really like to see this system call become a standard feature of 2.2
> so that our code can work out of the box with Linux 2.2 systems.

There is some test code from one of the SuSE people put for portable 2.0
and 2.2 code I'd write a simple /dev/dmamem device. Its small, its generic
and it maybe something folks like the X people can use one day too.

The only downside is its non swappable memory so the app needs to be
polite about it and have some size constraints on usage.

Alan

-
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.altern.org/andrebalsa/doc/lkml-faq.html