d_unmap_page Kernel-Service

Zweck

Gibt Ressourcen frei, die zuvor in einem D_unmap_Seite -Aufruf zugeordnet wurden.

Syntax

#include <sys/dma.h>

void d_unmap_page (*handle, *busaddr)
struct d_handle *handle
uint *busaddr
Anmerkung: Im Folgenden finden Sie die Schnittstellendefinition für D_unmap_Seite , wenn die Flags DMA_ADDRESS_64 und DMA_ENABLE_64 im Aufruf D_map_init gesetzt sind.
int d_unmap_page(*handle, 
*busaddr)
struct d_handle *handle;
unsigned long long *busaddr;

Parameter

Element Beschreibung
Handle Gibt die vom D_map_init -Kernelservice zurückgegebene eindeutige Kennung an.
Busadresse Verweist auf das Feld Busadresse .

Beschreibung

Der D_unmap_Seite -Kernel-Service ist eine busspezifische Dienstprogrammroutine, die vom D_map_init -Kernel-Service bestimmt wird und Ressourcen freigibt, die zuvor in einem Seite 'd_map_page' -Aufruf für eine DMA-Mastereinheit zugeordnet wurden.

Der Service D_unmap_Seite muss nach Abschluss der Ein-/Ausgabe mit dem Bereich aufgerufen werden, der durch den vorherigen Aufruf Seite 'd_map_page' zugeordnet wurde. Einige Einheitentreiber können auswählen, dass Seiten für eine langfristige Zuordnung bestimmter Speicherpuffer zugeordnet bleiben. In diesem Fall muss der Treiber D_unmap_Seite aufrufen, wenn er die Langzeitzuordnung nicht mehr benötigt.

Hinweis: Mit dem Makro D_UNMAP_PAGE , das in der Datei /usr/include/sys/dma.h bereitgestellt wird, können Sie Aufrufe des Kernel-Service d_unmap_page codieren. Andernfalls müssen Sie sicherstellen, dass der Funktionszeiger D_unmap_Seite nichtNULL ist, bevor Sie den Aufruf versuchen. Nicht alle Plattformen erfordern den Service zum Aufheben der Zuordnung.