The HyperNews Linux KHG Discussion Pages

## DMA to user allocated buffer ?

  Forum: The Linux Kernel Hackers' Guide
  Keywords: DMA user buffer physio
  Date: Mon, 22 Jun 1998 17:07:54 GMT
  From: Chris Read <support@active-silicon.com>

    I am porting an application from Solaris and NT to Linux

    I need to DMA fairly large ( >1 MByte ) data areas to a user
    assigned buffer (assigned using malloc). I thus need to either

    1) Lock down the pages manually in the driver and generate
    a physical scatter/gather table for the DMA (I assume that
    the malloc'ed pages will not be contiguous in physical memory)

    2) Remap the user buffer into physically contiguous memory,
    without changing the user virtual mapping (i.e. same user
    virtual address)

    3) Implement a Unix (Solaris) like physio routine to perform
    the DMA in chunks, akin to the read entry point uoi->buf
    mappings.

    Any pointers or ideas ?