RE: Question regarding DMA xfer to user space directly

Mikael Starvik
2003-07-10T05:08:45Z

Hi,

Use map_user_kiobuf to do this. There are several examples
in the kernel tree. One of the simplest may be
arch/cris/drivers/examples/kiobuftest.c.

/Mikael

-----Original Message-----
From: linux-kernel-owner@vger.kernel.org
[mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Alan Shih
Sent: Wednesday, July 09, 2003 7:35 PM
To: Alan Cox
Cc: Linux Kernel Mailing List
Subject: RE: Question regarding DMA xfer to user space directly

Next question would be what are the steps that the driver need to ping user
pages before setting up the xfer?

Thanks.

-----Original Message-----
From: Alan Cox [mailto:alan@lxorguk.ukuu.org.uk]
Sent: Tuesday, July 08, 2003 8:22 AM
To: Alan Shih
Cc: Linux Kernel Mailing List
Subject: Re: Question regarding DMA xfer to user space directly

On Maw, 2003-07-08 at 15:50, Alan Shih wrote:
> Is there a provision in MM for DMA transfer to user space directly
> without allocating a kernel buffer?

Yes. Its used both for O_DIRECT I/O (direct to disk I/O from userspace) and
for things like tv capture cards. The kernel allows a driver to pin user
pages and obtain mappings for them. Note that for large systems user pages
may be above the 32bit boundary so you need DAC capable hardware to get the
best results

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