Compartir a través de


PHDAUDIO_BDL_ISR función de devolución de llamada (hdaudio.h)

La rutina HDAudioBdlIsr es el ISR que el controlador de bus de AUDIO HD llama cada vez que se produce una interrupción de IOC en la secuencia. Es un puntero de función de tipo PHDAUDIO_BDL_ISR, que se define de la manera siguiente.

Sintaxis

PHDAUDIO_BDL_ISR PhdaudioBdlIsr;

void PhdaudioBdlIsr(
  [in] VOID *Context,
  [in] ULONG InterruptBitMask
)
{...}

Parámetros

[in] Context

El controlador de BUS de HD Audio llama al ISR con el mismo valor de contexto que el cliente especificado en el parámetro de contexto de la llamada setupDmaEngineWithBdl anterior. Para obtener más información, consulte PSETUP_DMA_ENGINE_WITH_BDL.

[in] InterruptBitMask

El parámetro interruptBitMask contiene los bits del registro de estado de flujo del dispositivo del controlador de audio HD que indican el motivo de la interrupción. En la tabla siguiente se muestra el significado de los bits individuales en interruptBitMask.

Números de bits Significado
31:5 No usado.
4 Error del descriptor (DESE). Si se produce un error durante la captura de un descriptor de búfer, el controlador de audio HD establece el bit DESE en 1.
3 Error FIFO (FIFOE). Si se produce un error fiFO (una saturación en una secuencia de salida o una ejecución insuficiente en una secuencia de entrada), el controlador de audio HD establece el bit FIFOE en 1.
2 Estado de interrupción de finalización del búfer (BCIS). Si el bit de IOC se establece en 1 en el byte de comando del descriptor de búfer, el controlador de audio HD establece el bit BCIS en 1 después de procesar el último ejemplo de un búfer.
1:0 No usado.

El controlador hd Audio bus establece los bits sin usar en cero. En lugar de suponer que se ha producido una interrupción de IOC, el ISR siempre debe comprobar el parámetro interruptBitMask para determinar si se ha producido un error de secuencia. Para obtener más información sobre los bits de estado de interrupción que se muestran en la tabla anterior, consulte la descripción de los registros de estado de la secuencia en la Especificación de audio de alta definición de Intel.

El tamaño de FIFO es el número máximo de bytes que el motor DMA puede contener en su búfer interno en cualquier momento .

Dependiendo de la implementación de hardware, el tamaño FIFO de un motor DMA puede ser estático o variar dinámicamente con cambios en el formato de secuencia. Para obtener más información sobre el tamaño de FIFO, consulte especificación de audio de alta definición de Intel.

Valor devuelto

Ninguno

Observaciones

El autor de la llamada debe asignar la memoria del búfer y BDL del grupo no paginado.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de hdaudio.h (incluya Hdaudio.h)
irQL DIRQL

Consulte también

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h