DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

udi_dma_constraints_t(3udi)


UDI DMA constraints handle

SYNOPSIS

#include <udi.h>

typedef <HANDLE> udi_dma_constraints_t;
 
/* NULL dma constraints constant */
 
#define  UDI_NULL_DMA_CONSTRAINTS				<NULL_HANDLE>
 

DESCRIPTION When buffer data is passed to a driver, it may be required to satisfy a set of DMA constraints, such as maximum transfer size or device offset alignment. In order for drivers to express their DMA constraints UDI defines a DMA constraints object, which is accessed via an opaque dma constraints handle:

DMA Constraints handles are used by the environment to ensure that when a buffer or DMA memory is allocated by the parent, the environment can optimize the allocation appropriately to meet all the constraints along the path, potentially avoiding copies later. The environment may also add its own hidden constraints based on knowledge of how the buffer or DMA memory will be used in the rest of the operating system.

Constraints handles are transferable between regions.

Warnings Drivers must not compare handle values for equality, but the UDI_HANDLE_IS_NULL macro can be used to determine if a handle variable currently holds a null value.

references UDI_HANDLE_IS_NULL


UDI Physical I/O Specification Contents