|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-0804E71D-8B20-49A2-9F7C-F2D6795681D0" xml:lang="en"><title>DMA Quick Start</title><shortdesc>DMA is used to ease the burden on the main CPU, by performing |
|
13 some of the data transfers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>There are two types of user that are interested in DMA: those that |
|
15 want to use it to transfer data, and those that need to implement |
|
16 it for their hardware.</p> |
|
17 <section id="GUID-0C4E7346-F73E-4348-8C1D-0CE6211BE222"><title>Users</title><ul> |
|
18 <li><p>Device driver developers use DMA to reduce the burden on the |
|
19 main CPU. They open a channel and then use that channel to queue one |
|
20 or more DMA requests.</p></li> |
|
21 <li><p>Hardware implementers, usually device creators, implement the |
|
22 DMA Platform Specific Layer (PSL) so that it will work with the particular |
|
23 DMA controller on a device.</p></li> |
|
24 </ul><p>Some devices will have more than one DMA controller, which |
|
25 means the DMA channel manager may require the hardware implementer |
|
26 to provide a means of identifying whether a particular DMA channel |
|
27 is of the correct type and on the appropriate controller.</p></section> |
|
28 <section id="GUID-AC961C9D-DD23-41D0-89AC-C89C5A2A6B6F"><fig id="GUID-01E7521A-ECD4-45F8-B104-659054A457AF"> |
|
29 <title>DMA Class Diagram</title> |
|
30 <image href="GUID-F7ABA3C6-60DD-4AE1-916B-BE2BCF6285CE_d0e89266_href.png" placement="inline"/> |
|
31 </fig><p>The diagram represents different classes related to the DMA. |
|
32 The classes in green provide the Client Interface which allows the |
|
33 users to request data transfer, the classes in blue implement the |
|
34 platform specific layer and the classes in white are the abstract |
|
35 classes.</p></section> |
|
36 <section id="GUID-05B51EC6-F4CC-4C1C-AF91-1977FEE68FF6"><title>Device |
|
37 driver developers</title><p>The device driver writers including the |
|
38 developers of physical device drivers and kernel extension writers |
|
39 use the client interface of the DMA platform service. </p><ul> |
|
40 <li><p>DMA technology is described the <xref href="GUID-4E3C086B-25BE-4DAC-9E21-CFC4F8B792A5.dita">DMA Technology Guide</xref></p></li> |
|
41 <li><p>The concepts of device driver are described in the <xref href="GUID-EE50283A-543C-446F-A5D1-E64043F988ED.dita">DMA Device Driver |
|
42 Guide</xref></p></li> |
|
43 <li><p>The Client Interface is explained in the <xref href="GUID-D5ED62EB-744D-42EB-B8CF-D5623BDA5B38.dita">DMA Client Interface |
|
44 Guide</xref></p></li> |
|
45 </ul></section> |
|
46 <section id="GUID-556FBE81-A39C-429F-8AF5-CDE5C0E076CA"><title>Hardware |
|
47 implementers</title><p>If you are a device creator or are adapting |
|
48 the DMA Framework for your DMA controller, you must implement the |
|
49 Platform Specific Layer.</p><ul> |
|
50 <li><p>The hardware interface is explained in the <xref href="GUID-6873E764-4132-46C8-8444-6301CF4D2033.dita">DMA Hardware Interface</xref></p></li> |
|
51 <li><p>The hardware specific functions are implemented in the platform |
|
52 specific layer and the implementation is explained in the <xref href="GUID-95A33491-17AC-4F12-948E-A1352ADDA483.dita">DMA Implementation |
|
53 Guide</xref></p></li> |
|
54 <li><p>Testing the implementation is described in the <xref href="GUID-C2114C7B-705C-4527-836A-C6E72227111A.dita">DMA Testing Guide</xref></p></li> |
|
55 </ul></section> |
|
56 </conbody></concept> |