d_map_attr Kernel Service

Finalidad

Cambia los atributos asociados a un manejador DMA.

Sintaxis

#include <sys/dma.h>
kerrno_t d_map_attr (handle, cmd, attr, attr_size)
d_handle_t handle;
ulong cmd;
void * attr;
size_t attr_size;

Parámetros

Elemento Descripción
descriptor de contexto Indica el descriptor de contexto exclusivo devuelto por el servicio de kernel de d_map_init_ext .
cmd Especifica uno de los siguientes distintivos:
D_ATTR_SET_MIN_MAPMEM
Establece la cantidad mínima de memoria correlacionable de E/S. Este es el cambio de memoria lógica y no el cambio de memoria de bus DMA.
D_ATTR_SET_DES_MAPMEM
Establece la cantidad deseada de memoria correlacionable de E/S. Este es el cambio de memoria lógica y no el cambio de memoria de bus DMA.
attr Debe establecer este parámetro en el valor de size64_t *. Este parámetro establece la cantidad mínima o la cantidad deseada de memoria correlacionable de E/S en función del valor especificado del parámetro cmd .
attr_size Debe establecer este parámetro en el valor de sizeof (size64_t). Este parámetro establece la cantidad mínima o la cantidad deseada de memoria correlacionable de E/S en función del valor especificado del parámetro cmd .

Descripción

El servicio de kernel de d_map_attr puede cambiar ciertos atributos de la estructura d_handle_t en caso de que cambien las necesidades de un controlador de dispositivo durante el tiempo de ejecución. Por ejemplo, si un controlador de dispositivo necesita más espacio de DMA en tiempo de ejecución, puede llamar al servicio de kernel de d_map_attr para solicitar un aumento en el espacio de correlación. El servicio de kernel de d_map_attr no es un servicio de kernel exportado, sino una rutina de programa de utilidad específica de bus determinada por el servicio de kernel de d_map_init_ext y proporcionada al llamante a través de la estructura d_handle .

Entorno de ejecución

El servicio de kernel de d_map_attr se puede llamar desde el entorno de proceso en INTBASE. La serialización con otros servicios de DMA como el servicio d_map_page y el servicio d_unmap_page es responsabilidad del llamante.

Valores de retorno

Elemento Descripción
DMA_SUCC Indica una finalización satisfactoria.
EINVAL_D_MAP_ATTR Indica que el parámetro cmd especificado no es válido.
ENOMM_D_MAP_ATTR Indica que no puede cambiar la memoria correlacionable de E/S mínima o deseada.