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 *busaddrAnmerkung: 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.