Deallocates resources previously allocated on a d_map_list call.
#include <sys/dma.h> void d_unmap_list (*handle, *bus_list) struct d_handle *handle struct dio *bus_list
Note: The following is the interface definition for d_unmap_list when the DMA_ADDRESS_64 and DMA_ENABLE_64 flags are set on the d_map_init call.
void d_unmap_list (*handle, *bus_list) struct d_handle *handle; struct dio_64 *bus_list;
handle | Indicates the unique handle returned by the d_map_init kernel service. |
bus_list | Specifies a list of bus addresses and lengths. |
The d_unmap_list kernel service is a bus-specific utility routine determined by the d_map_init kernel service that deallocates resources previously allocated on a d_map_list call.
The d_unmap_list kernel service must be called after I/O completion involving the area mapped by the prior d_map_list call. Some device drivers might choose to leave pages mapped for a long-term mapping of certain memory buffers. In this case, the driver must call d_unmap_list when it no longer needs the long-term mapping.
Note: You can use the D_UNMAP_LIST macro provided in the /usr/include/sys/dma.h file to code calls to the d_unmap_list kernel service. If not, you must ensure that the d_unmap_list function pointer is non-NULL before attempting the call. Not all platforms require the unmapping service.
The d_unmap_list kernel service is part of the base device package of your platform.
The d_map_init kernel service, d_map_list kernel service.