_unmap_list 内核服务

用途

取消分配先前在 映射列表 调用上分配的资源。

语法

#include <sys/dma.h>

void d_unmap_list (*handle, *bus_list)
struct d_handle *handle
struct dio *bus_list 
注: 当在 映射初始化 调用上设置 DMA_ADDRESS_64DMA_ENABLE_64 标志时,以下是 未映射列表 的接口定义。
void d_unmap_list (*handle, 
*bus_list)
struct d_handle *handle;
struct dio_64 *bus_list;

参数

描述
句柄 (handle) 指示 映射初始化 内核服务所返回的唯一句柄。
总线列表 指定总线地址和长度的列表。

描述

未映射列表 内核服务是特定于总线的实用程序例程,由 映射初始化 内核服务确定,用于取消分配先前在 映射列表 调用上分配的资源。

在涉及先前 映射列表 调用所映射的区域的 I/O 完成后,必须调用 未映射列表 内核服务。 某些设备驱动程序可能选择使页面保持映射状态,以便对某些内存缓冲区进行长期映射。 在此情况下,当驱动程序不再需要长期映射时,它必须调用 未映射列表

注: 您可以使用 /usr/include/sys/dma.h 文件中提供的 D_UNMAP_LIST 宏来编码对 d_unmap_list 内核服务的调用。 如果不是,那么您必须确保 未映射列表 函数指针为非空值 ,然后再尝试调用。 并非所有平台都需要取消映射服务。