Re: VIC and Matrox Meteor

Alan Cox (alan@lxorguk.ukuu.org.uk)
Fri, 19 Sep 1997 09:07:27 +0100 (BST)


> 1) alloc some kernel memory and allow the program to mmap this. The
> bttv readme states some drivers do it this way, but allocate the
> memory at boot time (which is a no-no for a module of cource).
> Does kmalloc()ed memory work too?

kmalloc can never guaratee getting you a large contiguous block. The current
bttv can handle scattered pages I think (the chip can) so you could vmalloc
a buffer and mmap all the pages (messy). The mm trick stuff is in Linux ATM
for 2.0, but not ported to 2.1.x yet.

> 2) Take userland memory and lock it. There is a comment in the source
> which says it doesn't work yet (i.e. the module can't lock the
> memory). Is this still true?
> A experimental grabber program uses mlock() to do this job, but
> I don't like this becauce mlock() requires root priviliges.

I'd been meaning to try making the grabber call the sys_mlock calls innards
directly and touch each page but haven't had time yet. Im currently turning
the bt848 stuff into a generic video for linux layer