PHDAUDIO_BDL_ISR fonction de rappel (hdaudio.h)
La routine HDAudioBdlIsr est l’ISR que le pilote de bus AUDIO HD appelle chaque fois qu’une interruption du CIO se produit sur le flux. Il s’agit d’un pointeur de fonction de type PHDAUDIO_BDL_ISR, qui est défini comme suit.
Syntaxe
PHDAUDIO_BDL_ISR PhdaudioBdlIsr;
void PhdaudioBdlIsr(
[in] VOID *Context,
[in] ULONG InterruptBitMask
)
{...}
Paramètres
[in] Context
Le pilote de bus AUDIO HD appelle l’ISR avec la même valeur de contexte que le client spécifié dans le paramètre de contexte de l’appel SetupDmaEngineWithBdl précédent. Pour plus d’informations, consultez PSETUP_DMA_ENGINE_WITH_BDL.
[in] InterruptBitMask
Le paramètre interruptBitMask contient les bits du registre d’état de flux de l’appareil du contrôleur AUDIO HD qui indiquent la raison de l’interruption. Le tableau suivant indique la signification des bits individuels dans interruptBitMask.
Nombres de bits | Signification |
---|---|
31:5 | Inutilisé. |
4 | Erreur de descripteur (DESE). Si une erreur se produit lors de l’extraction d’un descripteur de mémoire tampon, le contrôleur AUDIO HD définit le bit DESE sur 1. |
3 | Erreur FIFO (FIFOE). Si une erreur FIFO se produit (dépassement d’un flux de sortie ou d’une sous-exécution sur un flux d’entrée), le contrôleur AUDIO HD définit le bit FIFOE sur 1. |
2 | État de l’interruption d’achèvement de la mémoire tampon (BCIS). Si le bit CIO est défini sur 1 dans l’octet de commande du descripteur de mémoire tampon, le contrôleur AUDIO HD définit le bit BCIS sur 1 après le dernier échantillon d’une mémoire tampon traité. |
1:0 | Inutilisé. |
Le pilote de bus HD Audio définit les bits inutilisés sur zéro. Au lieu de supposer qu’une interruption DU CIO s’est produite, l’ISR doit toujours vérifier le paramètre interruptBitMask pour déterminer si une erreur de flux s’est produite. Pour plus d’informations sur les bits d’état d’interruption indiqués dans le tableau précédent, consultez la description des registres d’état de flux dans la spécification Intel High Definition Audio.
La taille FIFO est le nombre maximal d’octets que le moteur DMA peut contenir dans sa mémoire tampon interne à tout moment.
Selon l’implémentation matérielle, la taille FIFO d’un moteur DMA peut être statique ou varier dynamiquement avec les modifications apportées au format de flux. Pour plus d’informations sur la taille FIFO, consultez la spécification audio Intel High Definition.
Valeur de retour
Aucun
Remarques
L’appelant doit allouer la mémoire tampon et BDL à partir du pool non paginé.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | hdaudio.h (include Hdaudio.h) |
IRQL | DIRQL |