summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c64xx/dma.c
AgeCommit message (Collapse)AuthorFilesLines
2010-02-20ARM: S3C64XX: Move core support to mach-s3c64xxBen Dooks1-750/+0
Move the core S3C64XX support to mach-s3c64xx as it is unlikely to be used outside of this directory. Also move the SoC header files in with it. This includes the clock, cpu, cpufreq, dma, gpiolib and pll support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move headers into machine include directoryBen Dooks1-1/+1
Move the register and GPIO definition files from plat-s3c64xx into the machine include direcotry as they are unlikely to be reused outside mach-s3c64xx. This move includes removing the empty <mach/regs-clock.h> and replacing it with the <plat/regs-clock.h> implementation. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Free node for non-circular queuesJassi Brar1-0/+6
We need to free the buff and lli nodes if the buffer queue is not CIRCULAR. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Callback with correct buffer pointerJassi Brar1-1/+28
buffdone callback should be called per buffer request with pointer to the latest serviced request. 'next' should point to the one next to currently active. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Make src and dst transfer size sameJassi Brar1-4/+2
Some devices don't seem to work if the source and desitnation transfer widths are not same. For example, SPI dma xfers, with 8bits/word, don't work without this patch. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Unify callback functions for success/failureJassi Brar1-21/+13
Replace s3c64xx_dma_tcirq and s3c64xx_dma_errirq with the common s3c64xx_dma_buffdone. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Protect buffer pointers while manipulationJassi Brar1-0/+5
Ensure the DMA buffer points are not updated from another source during the process of enquing a buffer. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> [ben-linux@fluff.org: Updated patch comment] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-09-16ARM: S3C64XX: DMA: Debugged alloc's with GFP_KERNEL flag in Intr context.Jassi1-2/+2
s3c2410_dma_enqueue makes call to kzalloc and dma_pool_alloc with GFP_KERNEL flag set, this can be an issue for drivers, like I2S, which call s3c2410_dma_enqueue from dma-bufferdone callback. Change the flag GFP_KERNEL to GFP_ATOMIC to avoid any problems. Signed-Off-by: Jassi <jassi.brar@samsung.com> [ben-linux@fluff.org: Minor description edit and re-wrap] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-09-16ARM: S3C64XX: DMA: 'size' argument of dma_pool_createJassi1-1/+1
Provide actual minimum(struct pl080s_lli) size of block to dma_pool_create call, instead of hardcoded 32 bytes. Signed-Off-by: Jassi <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C64XX: Lower severity of DMA loggingMark Brown1-1/+1
The message was missing a severity macro so pick pr_debug(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C64XX: DMA supportBen Dooks1-0/+722
Add support for the DMA blocks in the S3C64XX series of CPUS, which are based on the ARM PL080 PrimeCell system. Unfortunately, these DMA controllers diverge from the PL080 design by adding another DMA controller register and configuration for OneNAND. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>