Go to main content

Writing Device Drivers in Oracle® Solaris 11.4

Exit Print View

Updated: November 2020
 
 

Direct Memory Access (DMA) Functions

The DMA functions are:

ddi_dma_alloc_handle()

Allocate a DMA handle

ddi_dma_free_handle()

Free a DMA handle

ddi_dma_mem_alloc()

Allocate memory for a DMA transfer

ddi_dma_mem_free()

Free previously allocated DMA memory

ddi_dma_addr_bind_handle()

Bind an address to a DMA handle

ddi_dma_buf_bind_handle()

Bind a system buffer to a DMA handle

ddi_dma_unbind_handle()

Unbind the address in a DMA handle

ddi_dma_nextcookie()

Retrieve the subsequent DMA cookie

ddi_dma_getwin()

Activate a new DMA window

ddi_dma_numwin()

Retrieve number of DMA windows

ddi_dma_sync()

Synchronize CPU and I/O views of memory

ddi_check_dma_handle()

Check a DMA handle

ddi_slaveonly()

Report whether a device is installed in a slave access-only location

ddi_iomin()

Find the minimum alignment and transfer size for DMA

ddi_dma_burstsizes()

Find out the allowed burst sizes for a DMA mapping

ddi_dma_devalign()

Find DMA mapping alignment and minimum transfer size

ddi_dmae_alloc()

Acquire a DMA channel

ddi_dmae_release()

Release a DMA channel

ddi_dmae_getattr()

Get the DMA engine attributes

ddi_dmae_prog()

Program a DMA channel

ddi_dmae_stop()

Terminate a DMA engine operation

ddi_dmae_disable()

Disable a DMA channel

ddi_dmae_enable()

Enable a DMA channel

ddi_dmae_getcnt()

Get the remaining DMA engine count

ddi_dmae_1stparty()

Configure the DMA channel cascade mode

ddi_dma_coff()

Convert a DMA cookie to an offset within a DMA handle

Table 31  Deprecated Direct Memory Access (DMA) Functions
Deprecated Function
Replacement
ddi_dma_addr_setup()
ddi_dma_alloc_handle(), ddi_dma_addr_bind_handle()
ddi_dma_buf_setup()
ddi_dma_alloc_handle(), ddi_dma_buf_bind_handle()
ddi_dma_curwin()
ddi_dma_getwin()
ddi_dma_free()
ddi_dma_free_handle()
ddi_dma_htoc()
ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle()
ddi_dma_movwin()
ddi_dma_getwin()
ddi_dma_nextseg()
ddi_dma_nextcookie()
ddi_dma_segtocookie()
ddi_dma_nextcookie()
ddi_dma_setup()
ddi_dma_alloc_handle(), ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle()
ddi_dmae_getlim()
ddi_dmae_getattr()
ddi_iopb_alloc()
ddi_dma_mem_alloc()
ddi_iopb_free()
ddi_dma_mem_free()
ddi_mem_alloc()
ddi_dma_mem_alloc()
ddi_mem_free()
ddi_dma_mem_free()
hat_getkpfnum()
ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle(), ddi_dma_nextcookie()