Blame view
Documentation/arm/Samsung-S3C24XX/DMA.txt
1.37 KB
0c6022d45
|
1 2 3 4 5 6 7 |
S3C2410 DMA =========== Introduction ------------ The kernel provides an interface to manage DMA transfers |
01dd2fbf0
|
8 |
using the DMA channels in the CPU, so that the central |
0c6022d45
|
9 10 11 12 13 14 15 16 17 18 |
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. |
01dd2fbf0
|
19 20 |
To allow flexibility for each CPU type and board, the DMA code can be given a DMA ordering structure which |
0c6022d45
|
21 22 23 24 |
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 |
01dd2fbf0
|
25 26 27 28 |
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. |
0c6022d45
|
29 30 31 32 33 34 |
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() |
01dd2fbf0
|
35 36 |
to register a complete ordering set. The routine will copy the data, so the original can be discarded with |
0c6022d45
|
37 38 39 40 41 42 43 44 45 |
__initdata. Authour ------- Ben Dooks, Copyright (c) 2007 Ben Dooks, Simtec Electronics Licensed under the GPL v2 |