swh:1:snp:c3bf2749e3476071fa748f67b0ffa2fdc5fe49d9
Raw File
Tip revision: 8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84 authored by Linus Torvalds on 23 March 2009, 23:12:14 UTC
Linux 2.6.29
Tip revision: 8e0ee43
DMA.txt
			S3C2410 DMA
			===========

Introduction
------------

   The kernel provides an interface to manage DMA transfers
   using the DMA channels in the CPU, so that the central
   duty of managing channel mappings, and programming the
   channel generators is in one place.


DMA Channel Ordering
--------------------

   Many of the range do not have connections for the DMA
   channels to all sources, which means that some devices
   have a restricted number of channels that can be used.

   To allow flexibility for each CPU type and board, the
   DMA code can be given a DMA ordering structure which
   allows the order of channel search to be specified, as
   well as allowing the prohibition of certain claims.

   struct s3c24xx_dma_order has a list of channels, and
   each channel within has a slot for a list of DMA
   channel numbers. The slots are searched in order for
   the presence of a DMA channel number with DMA_CH_VALID
   or-ed in.

   If the order has the flag DMA_CH_NEVER set, then after
   checking the channel list, the system will return no
   found channel, thus denying the request.

   A board support file can call s3c24xx_dma_order_set()
   to register a complete ordering set. The routine will
   copy the data, so the original can be discarded with
   __initdata.


Authour
-------

Ben Dooks,
Copyright (c) 2007 Ben Dooks, Simtec Electronics
Licensed under the GPL v2
back to top