linux/drivers/dma
Heiko Stuebner ddeccb8d6b dmaengine: add driver for Samsung s3c24xx SoCs
This adds a new driver to support the s3c24xx dma using the dmaengine
and makes the old one in mach-s3c24xx obsolete in the long run.

Conceptually the s3c24xx-dma feels like a distant relative of the pl08x
with numerous virtual channels being mapped to a lot less physical ones.
The driver therefore borrows a lot from the amba-pl08x driver in this
regard. Functionality-wise the driver gains a memcpy ability in addition
to the slave_sg one.

The driver supports both the method for requesting the peripheral used
by SoCs before the S3C2443 and the different method for S3C2443 and later.

On earlier SoCs the hardware channels usable for specific peripherals is
constrainted while on later SoCs all channels can be used for any peripheral.

Tested on a s3c2416-based board, memcpy using the dmatest module and
slave_sg partially using the spi-s3c64xx driver.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-10-08 06:42:10 +09:00
..
bestcomm Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
dw Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
ioat ioatdma: silence GCC warnings 2013-08-23 00:21:44 -07:00
ipu dma: ipu: remove unnecessary platform_set_drvdata() 2013-08-25 14:37:13 +05:30
ppc4xx Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-07-07 11:11:43 -07:00
sh Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-09-10 13:37:36 -07:00
acpi-dma.c acpi-dma: remove ugly conversion 2013-08-25 16:43:45 +05:30
amba-pl08x.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-09-10 13:37:36 -07:00
at_hdmac_regs.h DMA: AT91: Get residual bytes in dma buffer 2013-07-05 11:40:31 +05:30
at_hdmac.c dmaengine: at_hdmac: prepare clk before calling enable 2013-07-05 11:40:57 +05:30
coh901318_lli.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2013-02-26 09:24:48 -08:00
coh901318.c coh901318: don't open-code simple_read_from_buffer() 2013-09-03 22:52:46 -04:00
coh901318.h dma: coh901318: merge header files 2013-01-07 17:36:37 +01:00
cppi41.c dma: cppi41: off by one in desc_to_chan() 2013-08-28 15:46:33 -07:00
dma-jz4740.c MIPS: jz4740: Remove custom DMA API 2013-07-05 11:40:52 +05:30
dmaengine.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-09-10 13:37:36 -07:00
dmaengine.h dmaengine: consolidate initialization of cookies 2012-03-13 11:37:22 +05:30
dmatest.c dmatest: print message on debug level in case of no error 2013-08-22 22:57:35 -07:00
edma.c dma: edma: Remove limits on number of slots 2013-09-04 18:38:46 +05:30
ep93xx_dma.c ep93xx_dma: remove useless use of lock 2013-08-05 09:32:24 +05:30
fsldma.c fsldma: remove useless use of lock 2013-08-05 09:32:24 +05:30
fsldma.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
imx-dma.c dma: imx-dma: Remove redundant NULL check 2013-09-02 17:35:58 +05:30
imx-sdma.c dma: imx-sdma: Staticize sdma_driver_data structures 2013-09-02 12:00:02 +05:30
intel_mid_dma_regs.h dma: fix comments 2012-09-01 08:57:12 -07:00
intel_mid_dma.c PM / Runtime: Rework the "runtime idle" helper routine 2013-06-03 21:49:52 +02:00
iop-adma.c dma: use dev_get_platdata() 2013-08-13 16:56:41 +05:30
iovlock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
k3dma.c dma: k3dma: use devm_ioremap_resource() instead of devm_request_and_ioremap() 2013-09-02 17:35:34 +05:30
Kconfig dmaengine: add driver for Samsung s3c24xx SoCs 2013-10-08 06:42:10 +09:00
Makefile dmaengine: add driver for Samsung s3c24xx SoCs 2013-10-08 06:42:10 +09:00
mmp_pdma.c dma: mmp_pdma: set DMA_PRIVATE 2013-08-25 22:04:53 +05:30
mmp_tdma.c dma: mmp: simplify use of devm_ioremap_resource 2013-08-14 14:51:28 +05:30
mpc512x_dma.c mpc512x_dma: remove useless use of lock 2013-08-05 09:32:25 +05:30
mv_xor.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-09-10 13:37:36 -07:00
mv_xor.h mv_xor: support big endian systems using descriptor swap feature 2013-08-22 22:57:37 -07:00
mxs-dma.c dma: mxs-dma: remove code left from generic DMA binding conversion 2013-08-19 14:20:21 +05:30
of-dma.c dma: of: make error message more meaningful by adding the node name 2013-08-19 14:45:05 +05:30
omap-dma.c dmaengine: OMAP: Register SDMA controller with Device Tree DMA driver 2013-04-15 09:51:19 +05:30
pch_dma.c pch_dma: Add MODULE_DEVICE_TABLE 2013-09-02 11:59:58 +05:30
pl330.c Merge branch 'topic/api_caps' into for-linus 2013-09-04 18:36:53 +05:30
s3c24xx-dma.c dmaengine: add driver for Samsung s3c24xx SoCs 2013-10-08 06:42:10 +09:00
sa11x0-dma.c Drivers: dma: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
sirf-dma.c dmaengine: sirf: add PM entries for sleep and runtime 2013-08-13 17:01:01 +05:30
ste_dma40_ll.c dmaengine: ste_dma40_ll: Replace meaningless register set with comment 2013-06-04 11:12:10 +02:00
ste_dma40_ll.h dmaengine: ste_dma40: Remove unnecessary call to d40_phy_cfg() 2013-05-23 21:13:19 +02:00
ste_dma40.c dma: ste_dma40: Fix potential null pointer dereference 2013-09-02 17:36:00 +05:30
tegra20-apb-dma.c tegra20-apb-dma: remove useless use of lock 2013-08-05 09:32:25 +05:30
timb_dma.c dma: use dev_get_platdata() 2013-08-13 16:56:41 +05:30
TODO dmaengine: remove ste_dma40 from issue_pending TODO 2011-07-14 04:02:08 +05:30
txx9dmac.c dma: use dev_get_platdata() 2013-08-13 16:56:41 +05:30
txx9dmac.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
virt-dma.c dmaengine: virt-dma: add support for cyclic DMA periodic callbacks 2012-07-01 14:15:23 +01:00
virt-dma.h dmaengine: virt-dma: add support for cyclic DMA periodic callbacks 2012-07-01 14:15:23 +01:00