PHDAUDIO_BDL_ISR Rückruffunktion (hdaudio.h)

Die HDAudioBdlIsr-Routine ist die ISR, die der HD-Audiobustreiber jedes Mal aufruft, wenn ein IOC-Interrupt im Stream auftritt. Es handelt sich um einen Funktionszeiger vom Typ PHDAUDIO_BDL_ISR, der wie folgt definiert wird.

Syntax

PHDAUDIO_BDL_ISR PhdaudioBdlIsr;

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

Parameter

[in] Context

Der HD Audio Bus-Treiber ruft den ISR mit demselben Kontextwert auf, den der Client im Kontextparameter des vorherigen SetupDmaEngineWithBdl-Aufrufs angegeben hat. Weitere Informationen finden Sie unter PSETUP_DMA_ENGINE_WITH_BDL.

[in] InterruptBitMask

Der interruptBitMask-Parameter enthält die Bits aus dem Stream des HD-Audiocontrollergeräts status Register, die den Grund für den Interrupt angeben. Die folgende Tabelle zeigt die Bedeutung der einzelnen Bits in interruptBitMask.

Bitzahlen Bedeutung
31:5 Nicht verwendet.
4 Deskriptorfehler (DESE). Wenn beim Abrufen eines Pufferdeskriptors ein Fehler auftritt, legt der HD-Audiocontroller das DESE-Bit auf 1 fest.
3 FIFO-Fehler (FIFOE). Wenn ein FIFO-Fehler auftritt (ein Überlauf für einen Ausgabedatenstrom oder ein Unterlauf in einem Eingabedatenstrom), legt der HD-Audiocontroller das FIFOE-Bit auf 1 fest.
2 Pufferabschlussunterbrechungsstatus (Buffer Completion Interrupt Status, BCIS). Wenn das IOC-Bit im Befehlsbyte des Pufferdeskriptors auf 1 festgelegt ist, legt der HD-Audiocontroller das BCIS-Bit auf 1 fest, nachdem das letzte Beispiel eines Puffers verarbeitet wurde.
1:0 Nicht verwendet.

Der HD Audio Bus-Treiber legt die nicht verwendeten Bits auf 0 (null) fest. Anstatt davon auszugehen, dass ein IOC-Interrupt aufgetreten ist, muss der ISR immer den interruptBitMask-Parameter überprüfen, um festzustellen, ob ein Streamfehler aufgetreten ist. Weitere Informationen zu den interrupt status Bits, die in der obigen Tabelle gezeigt werden, finden Sie in der Beschreibung der Stream-status Register in der Intel High Definition Audio Specification.

Die FIFO-Größe ist die maximale Anzahl von Bytes, die die DMA-Engine jederzeit in ihrem internen Puffer enthalten kann.

Abhängig von der Hardwareimplementierung kann die FIFO-Größe einer DMA-Engine entweder statisch sein oder dynamisch mit Änderungen im Streamformat variieren. Weitere Informationen zur FIFO-Größe finden Sie in der Intel High Definition Audio Specification.

Rückgabewert

Keine

Bemerkungen

Der Aufrufer muss den Pufferspeicher und die BDL aus dem nicht auslagerten Pool zuordnen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile hdaudio.h (hdaudio.h einschließen)
IRQL DIRQL

Weitere Informationen

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h