INFO: Call Enable DMA Translation Only After DMA is Complete

ID: Q163355


The information in this article applies to:


SUMMARY

When you disable DMA translation prior to programming the DMA controller, do not reenable DMA translation until the DMA transfers are complete for that channel. Below is documentation from "PW0519: Virtual DMA Services (VDS)" on DMA translation services.


MORE INFORMATION

Disable DMA Translation

Environments that support the VDS, trap the standard DMA I/O ports and attempt to remap the addresses provided by the client application (assumed to be linear addresses) into appropriate physical addresses. However, an application that uses the VDS to determine the physical address of its DMA buffer region must call this service to disable the remapping of standard DMA ports.

This service maintains a disable count. Therefore, one call to the Enable DMA Translation must be made for each call to the Disable DMA Translation service before automatic DMA translation is enabled.

Enable DMA Translation

An application calls this service to reenable automatic DMA buffer remapping that was disabled by the Disable DMA Translation service.

This service maintains a disable count. Therefore, one call to Enable DMA Translation must be made for each call to the Disable DMA Translation service before automatic DMA translation is enabled.


REFERENCES

PW0519: Virtual DMA Services (VDS)

Additional query words: 4.00


Keywords          : kbprg NTDDKKMode 
Version           : 4.0
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 4, 1999