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 IOC 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 celle spécifiée par le client 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 flux du périphérique de contrôleur audio HD status enregistrer qui indiquent la raison de l’interruption. Le tableau suivant montre 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 (un dépassement sur un flux de sortie ou 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 IOC 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 traitement du dernier échantillon d’une mémoire tampon.
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 ioc s’est produite, l’ISR doit toujours case activée le paramètre interruptBitMask pour déterminer si une erreur de flux s’est produite. Pour plus d’informations sur l’interruption status bits indiqués dans le tableau précédent, consultez la description du flux status registres dans la spécification audio haute définition Intel.

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 en fonction des modifications apportées au format de flux. Pour plus d’informations sur la taille FIFO, consultez la spécification audio haute définition Intel.

Valeur de retour

None

Remarques

L’appelant doit allouer la mémoire tampon et le BDL à partir du pool non paginé.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête hdaudio.h (inclure Hdaudio.h)
IRQL DIRQL

Voir aussi

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h