Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[deliverable/linux.git] / arch / cris / arch-v10 / lib / dmacopy.c
CommitLineData
2f941a1b 1/*
1da177e4
LT
2 * memcpy for large blocks, using memory-memory DMA channels 6 and 7 in Etrax
3 */
4
5#include <asm/svinto.h>
6#include <asm/io.h>
7
8#define D(x)
9
10void *dma_memcpy(void *pdst,
11 const void *psrc,
12 unsigned int pn)
13{
14 static etrax_dma_descr indma, outdma;
2f941a1b
JN
15
16 D(printk(KERN_DEBUG "dma_memcpy %d bytes... ", pn));
1da177e4
LT
17
18#if 0
2f941a1b 19 *R_GEN_CONFIG = genconfig_shadow =
1da177e4
LT
20 (genconfig_shadow & ~0x3c0000) |
21 IO_STATE(R_GEN_CONFIG, dma6, intdma7) |
22 IO_STATE(R_GEN_CONFIG, dma7, intdma6);
23#endif
24 indma.sw_len = outdma.sw_len = pn;
25 indma.ctrl = d_eol | d_eop;
26 outdma.ctrl = d_eol;
27 indma.buf = psrc;
28 outdma.buf = pdst;
29
30 *R_DMA_CH6_FIRST = &indma;
31 *R_DMA_CH7_FIRST = &outdma;
32 *R_DMA_CH6_CMD = IO_STATE(R_DMA_CH6_CMD, cmd, start);
33 *R_DMA_CH7_CMD = IO_STATE(R_DMA_CH7_CMD, cmd, start);
1da177e4 34
2f941a1b
JN
35 while (*R_DMA_CH7_CMD == 1)
36 /* wait for completion */;
1da177e4 37
2f941a1b 38 D(printk(KERN_DEBUG "done\n"));
1da177e4
LT
39}
40
41
42
This page took 0.435423 seconds and 5 git commands to generate.