Share via


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

La rutina HDAudioBdlIsr es el ISR al que llama el controlador de bus de audio HD 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 siguiente manera.

Sintaxis

PHDAUDIO_BDL_ISR PhdaudioBdlIsr;

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

Parámetros

[in] Context

El controlador del bus de audio HD llama al ISR con el mismo valor de contexto que el cliente especificó en el parámetro de contexto de la llamada a 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 secuencia 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 Sin usar.
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 DE FIFO (FIFOE). Si se produce un error FIFO (una saturación en una secuencia de salida o una infraejecución 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 la última muestra de un búfer.
1:0 Sin usar.

El controlador hd Audio Bus establece los bits no usados 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, vea 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 los 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

None

Observaciones

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

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado hdaudio.h (incluya Hdaudio.h)
IRQL DIRQL

Consulte también

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h