diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-0804E71D-8B20-49A2-9F7C-F2D6795681D0.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-0804E71D-8B20-49A2-9F7C-F2D6795681D0.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,56 @@ + + + + + +DMA Quick StartDMA is used to ease the burden on the main CPU, by performing +some of the data transfers. +

There are two types of user that are interested in DMA: those that +want to use it to transfer data, and those that need to implement +it for their hardware.

+
Users
    +
  • Device driver developers use DMA to reduce the burden on the +main CPU. They open a channel and then use that channel to queue one +or more DMA requests.

  • +
  • Hardware implementers, usually device creators, implement the +DMA Platform Specific Layer (PSL) so that it will work with the particular +DMA controller on a device.

  • +

Some devices will have more than one DMA controller, which +means the DMA channel manager may require the hardware implementer +to provide a means of identifying whether a particular DMA channel +is of the correct type and on the appropriate controller.

+
+DMA Class Diagram + +

The diagram represents different classes related to the DMA. +The classes in green provide the Client Interface which allows the +users to request data transfer, the classes in blue implement the +platform specific layer and the classes in white are the abstract +classes.

+
Device +driver developers

The device driver writers including the +developers of physical device drivers and kernel extension writers +use the client interface of the DMA platform service.

    +
  • DMA technology is described the DMA Technology Guide

  • +
  • The concepts of device driver are described in the DMA Device Driver +Guide

  • +
  • The Client Interface is explained in the DMA Client Interface +Guide

  • +
+
Hardware +implementers

If you are a device creator or are adapting +the DMA Framework for your DMA controller, you must implement the +Platform Specific Layer.

    +
  • The hardware interface is explained in the DMA Hardware Interface

  • +
  • The hardware specific functions are implemented in the platform +specific layer and the implementation is explained in the DMA Implementation +Guide

  • +
  • Testing the implementation is described in the DMA Testing Guide

  • +
+
\ No newline at end of file