Symbian3/PDK/Source/GUID-4E3C086B-25BE-4DAC-9E21-CFC4F8B792A5.dita
changeset 5 f345bda72bc4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-4E3C086B-25BE-4DAC-9E21-CFC4F8B792A5.dita	Tue Mar 30 11:56:28 2010 +0100
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-4E3C086B-25BE-4DAC-9E21-CFC4F8B792A5" xml:lang="en"><title>DMA
+Technology Guide</title><shortdesc>Describes the new Direct Memory Access framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-E987EF55-27CE-4EC2-B250-2C3D7C36CAF9"><title>Purpose</title><p>The
+Symbian platform DMA framework provides a generic simple interface for the
+clients to access DMA resources in a device. The primary clients are device
+drivers that will use the DMA framework to set up DMA transfers.</p></section>
+<section id="GUID-7607CC80-0FA0-4FC2-897A-C4AB6B6C74FC"><title>Key concepts</title><fig id="GUID-93B0F1CF-5F84-4952-8D8C-7BE581EC5353">
+<title>New DMA Framework</title>
+<image href="GUID-74C99E44-8900-47FB-AF79-5627C37B9843_d0e325662_href.png" placement="inline"/>
+</fig><dl>
+<dlentry>
+<dt>DMA Client</dt>
+<dd><p>A device driver or other kernel objects that needs to use the resources
+of the DMA framework.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA API</dt>
+<dd><p>The generic interface to provide DMA services to the clients.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Import Library</dt>
+<dd><p>The DMA clients link against the <filepath>dma2.lib</filepath> file.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Platform Independent Layer (PIL)</dt>
+<dd><p>The platform independent layer that contains the generic framework
+independent of the baseport.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA HAI</dt>
+<dd><p>The simplified hardware abstract interface between the platform independent
+layer and platform specific layer.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Platform Specific Layer (PSL)</dt>
+<dd><p>The platform specific layer is specific to the baseport and the hardware
+used.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Controller (DMAC)</dt>
+<dd><p>The DMAC is the hardware implementation of the DMA framework. The number
+of DMAC depends on the PSL implementation.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Channel</dt>
+<dd><p>The object which represents a single hardware channel. The DMA channels
+are referred by a 32-bit value called as cookie. They channel object stores
+the required number of descriptors for a given channel.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Channel Manager</dt>
+<dd><p>The channel manager controls the DMA channels. The channel manager
+functions are defined in the platform independent layer and implemented in
+the platform specific layer.</p></dd>
+</dlentry>
+<dlentry>
+<dt>DMA Descriptors</dt>
+<dd><p>The data structure uses by the DMA framework to store configuration
+of the data transfer block with details such as source address, destination
+address, number of bytes and pointer to the next descriptor, when DMA is used
+to transfer disjoined blocks of data. This structure is defined in the platform
+specific layer. The DMA descriptors must not be confused with the Symbian
+platform descriptors.</p></dd>
+</dlentry>
+<dlentry>
+<dt>Descriptor Headers</dt>
+<dd><p>The descriptor headers are used to store additional information about
+the descriptors.</p></dd>
+</dlentry>
+<dlentry>
+<dt>Transfer Request</dt>
+<dd><p>The transfer request are the process of initialising a data transfer
+by the device drivers. </p></dd>
+</dlentry>
+</dl></section>
+<section id="GUID-F64155FC-5245-447F-88E7-C642EDEB2CEE"><title>Typical Uses</title><p>The
+typical use cases of a DMA framework are:</p><ul>
+<li><p>programmable data transfer between hardware controllers and memory
+buffers</p></li>
+<li><p>programmable data transfer of block of data between different regions
+of memory</p></li>
+<li><p>programmable data extraction at regular intervals in a data structure</p></li>
+<li><p>programmable rotation of a two dimensional data structure in memory
+such as an image.</p></li>
+</ul></section>
+</conbody></concept>
\ No newline at end of file