Jungo WinDriver  
Official Documentation

◆ WD_DMASyncCpu

#define WD_DMASyncCpu (   h,
  pDma 
)     WD_FUNCTION(IOCTL_WD_DMA_SYNC_CPU, h, pDma, SIZE_OF_WD_DMA(pDma), FALSE)

Synchronizes the cache of all CPUs with the DMA buffer, by flushing the data from the CPU caches.

Parameters
[in]hHandle to WinDriver's kernel-mode driver as received from WD_Open()
[in]pDmaPointer to a DMA information structure, received from a previous call to WD_DMALock()
Returns
Returns WD_STATUS_SUCCESS (0) on success, or an appropriate error code otherwise
Remarks
An asynchronous DMA read or write operation accesses data in memory, not in the processor (CPU) cache, which resides between the CPU and the host's physical memory. Unless the CPU cache has been flushed, by calling WD_DMASyncCpu(), just before a read transfer, the data transferred into system memory by the DMA operation could be overwritten with stale data if the CPU cache is flushed later. Unless the CPU cache has been flushed by calling WD_DMASyncCpu() just before a write transfer, the data in the CPU cache might be more upto-date than the copy in memory.
WD_DMASyncCpu(hWD, &dma);
#define WD_DMASyncCpu(h, pDma)
Synchronizes the cache of all CPUs with the DMA buffer, by flushing the data from the CPU caches.
Definition: windrvr.h:2139

Definition at line 2139 of file windrvr.h.