Changes the attributes associated with a DMA handle.
Item | Description |
---|---|
handle | Indicates the unique handle returned by the d_map_init_ext kernel service. |
cmd | Specifies one of the following flags:
|
attr | You must set this parameter to the value of size64_t *. This parameter sets the minimum or the desired amount of I/O mappable memory depending on the specified value of the cmd parameter. |
attr_size | You must set this parameter to the value of sizeof(size64_t). This parameter sets the minimum or the desired amount of I/O mappable memory depending on the specified value of the cmd parameter. |
The d_map_attr kernel service can change certain attributes of the d_handle_t structure in case the needs of a device driver change during runtime. For example, if a device driver needs more DMA space at runtime, it can call the d_map_attr kernel service to request an increase in the map space. The d_map_attr kernel service is not an exported kernel service, but a bus specific utility routine determined by the d_map_init_ext kernel service and provided to the caller through the d_handle structure.
The d_map_attr kernel service can be called from the process environment at INTBASE. Serialization with other DMA services like the d_map_page service and the d_unmap_page service is the caller’s responsibility.
Item | Description |
---|---|
DMA_SUCC | Indicates a successful completion. |
EINVAL_D_MAP_ATTR | Indicates that the specified cmd parameter is not valid. |
ENOMEM_D_MAP_ATTR | Indicates that it is unable to change the minimum or desired I/O mappable memory. |