#include <dxd_pci.h>
|
void | free () |
|
template<class sgl_t > |
os_result | initialize (device &, ::IOMemoryDescriptor *iokit_memory_descriptor, unsigned int &pages, sgl_t &sgl, unsigned int limit=limit_t, unsigned int alignment=alignment_t, unsigned int page_size=page_size_t) |
|
| scatter_gather ()=default |
|
template<class sgl_t > |
| scatter_gather (device &device, ::IOMemoryDescriptor *iokit_memory_descriptor, unsigned int &pages, sgl_t &sgl, unsigned int limit=limit_t, unsigned int alignment=alignment_t, unsigned int page_size=page_size_t) |
|
os_result | synchronize (direction direction=direction::both) |
|
| ~scatter_gather () |
|
◆ scatter_gather() [1/2]
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
◆ scatter_gather() [2/2]
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
dxd::pci::scatter_gather< limit_t, alignment_t, page_size_t >::scatter_gather |
( |
device & | device, |
|
|
::IOMemoryDescriptor * | iokit_memory_descriptor, |
|
|
unsigned int & | pages, |
|
|
sgl_t & | sgl, |
|
|
unsigned int | limit = limit_t, |
|
|
unsigned int | alignment = alignment_t, |
|
|
unsigned int | page_size = page_size_t ) |
|
inline |
◆ ~scatter_gather()
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
◆ free()
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
completes the DMA command,
◆ initialize()
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
os_result dxd::pci::scatter_gather< limit_t, alignment_t, page_size_t >::initialize |
( |
device & | , |
|
|
::IOMemoryDescriptor * | iokit_memory_descriptor, |
|
|
unsigned int & | pages, |
|
|
sgl_t & | sgl, |
|
|
unsigned int | limit = limit_t, |
|
|
unsigned int | alignment = alignment_t, |
|
|
unsigned int | page_size = page_size_t ) |
|
inline |
- Todo
- templatize endianism!
Allows re-initialization.
Checks memory descriptors,
creates 64bit IODMACommand limited to template specification, maps the IODMACommand if limited below 64bit or PPC,
selects memory descriptor for DMA backing store,
prepares the DMA command,
generates physical segments and
converts it into user supplied structure
◆ synchronize()
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
◆ status
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
The documentation for this class was generated from the following file: