Vinod Koul [Tue, 3 Feb 2015 00:55:43 +0000 (16:55 -0800)]
Merge branch 'topic/rcar' into for-linus
Vinod Koul [Tue, 3 Feb 2015 00:55:35 +0000 (16:55 -0800)]
Merge branch 'topic/slave_caps_device_control_fix_rebased' into for-linus
Wolfram Sang [Wed, 14 Jan 2015 14:16:28 +0000 (15:16 +0100)]
dmaengine: of: bail out early if "dmas" property is not present
And don't print an error: not configured is not an error.
Reported-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Kuninori Morimoto [Thu, 22 Jan 2015 02:32:51 +0000 (02:32 +0000)]
dmaengine: shdmac: fixup WARNING of slave caps retrieval
ecc19d17868be9c9f8f00ed928791533c420f3e0
(dmaengine: Add a warning for drivers not using the generic slave
caps retrieval) added WARN() for DMA_SLAVE.
Kernel will shows WARNING without this patch.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Kuninori Morimoto [Wed, 21 Jan 2015 04:42:22 +0000 (04:42 +0000)]
dmaengine: rcar-hpbdma: tidyup residue_granularity
The driver doesn't support residue reporting at all.
residue_granularity should be set to DMA_RESIDUE_GRANULARITY_DESCRIPTOR.
Special thanks to Laurent
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Laurent Pinchart [Mon, 19 Jan 2015 11:54:27 +0000 (13:54 +0200)]
dmaengine: Add dma_get_slave_caps() inline stub when !CONFIG_DMA_ENGINE
Commit
0d5484b1c3db8a38 ("dmaengine: Move dma_get_slave_caps()
implementation to dmaengine.c") turned the inline dma_get_slave_caps()
function into an external function without adding an inline stub for the
cases where CONFIG_DMA_ENGINE isn't set. This breaks compilation of
drivers using the DMA engine API when CONFIG_DMA_ENGINE isn't set.
Add an inline stub to fix compilation.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fixes:
0d5484b1c3db ("dmaengine: Move dma_get_slave_caps() implementation to dmaengine.c")
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Arnd Bergmann [Tue, 13 Jan 2015 21:17:03 +0000 (22:17 +0100)]
dmaengine: coh901318: fix function return types build warnings
A recent patch that removed coh901318_control() replaced it
with a number of pointers to existing functions, but those
unfortunately have the wrong return type and need to be
changed to return an 'int' with an error value rather than
a 'void' to avoid these build warnings:
drivers/dma/coh901318.c:2697:32: warning: assignment from incompatible pointer type
base->dma_slave.device_config = coh901318_dma_set_runtimeconfig;
^
drivers/dma/coh901318.c:2698:31: warning: assignment from incompatible pointer type
base->dma_slave.device_pause = coh901318_pause;
^
drivers/dma/coh901318.c:2699:32: warning: assignment from incompatible pointer type
base->dma_slave.device_resume = coh901318_resume
The coh901318_base_init function has the correct return type
already, but needs to be marked 'static' to avoid a sparse
warning about a missing declaration.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes:
6782af118b6c ("dmaengine: coh901318: Split device_control")
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Tue, 13 Jan 2015 20:16:23 +0000 (21:16 +0100)]
dmaengine: s3c24xx: Fix typo
A typo has been introduced in the spin_unlock_irqrestore function. Fix it.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Tue, 13 Jan 2015 20:16:22 +0000 (21:16 +0100)]
dmaengine: sa11x0: Fix warning and compilation errors
The sa11x0_dma_resume conflicts between the dmaengine device_resume callback
and the dev_pm_ops resume implementation.
Also remove some unused variables at the same time.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Laurent Pinchart [Tue, 28 Oct 2014 22:30:58 +0000 (00:30 +0200)]
dmaengine: Move dma_get_slave_caps() implementation to dmaengine.c
The function is too big to be a static inline.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Ludovic Desroches [Tue, 6 Jan 2015 16:36:26 +0000 (17:36 +0100)]
dmaengine: at_hdmac: declare slave capabilities
Declare slave capabilities to suppress "this driver doesn't support generic
slave capabilities reporting" warning.
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Paul Walmsley [Tue, 6 Jan 2015 06:44:56 +0000 (06:44 +0000)]
dmaengine: tegra: add slave capabilities reporting
After commit
ecc19d17868be9c9f8f00ed928791533c420f3e0 ("dmaengine: Add
a warning for drivers not using the generic slave caps retrieval"),
the Tegra APB DMA driver causes this warning during boot:
WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:830 dma_async_device_register+0x294/0x538()
this driver doesn't support generic slave capabilities reporting
Fix by setting the appropriate reporting structure fields that are
passed to dma_async_device_register().
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Kevin Hao [Thu, 8 Jan 2015 10:38:17 +0000 (18:38 +0800)]
dmaengine: fsldma: remove the unused variable
Fix the following build warning:
drivers/dma/fsldma.c: In function 'fsl_dma_device_terminate_all':
drivers/dma/fsldma.c:947:6: warning: unused variable 'size' [-Wunused-variable]
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Kevin Hao [Thu, 8 Jan 2015 10:38:16 +0000 (18:38 +0800)]
dmaengine: fsldma: declare slave capabilities for the generic code
Since commit
ecc19d17868b ("dmaengine: Add a warning for drivers not
using the generic slave caps retrieval"), the dma drivers are required
to fill the caps infos in order to support generic slaves caps
retrieval. Otherwise we will get a warning like this:
WARNING: at drivers/dma/dmaengine.c:830
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-rc2-next-
20150106-dirty #271
task:
c0000001f70a0000 ti:
c0000001f7044000 task.ti:
c0000001f7044000
NIP:
c00000000032b238 LR:
c00000000032b234 CTR:
c00000000001d258
REGS:
c0000001f7047330 TRAP: 0700 Tainted: G W (3.19.0-rc2-next-
20150106-dirty)
MSR:
0000000080029000 <CE,EE,ME> CR:
24adbe22 XER:
20000000
SOFTE: 1
GPR00:
c00000000032b234 c0000001f70475b0 c0000000009b4848 0000000000000040
GPR04:
0000000000000001 0000000000000001 0000000000000000 000000000000000f
GPR08:
0000000000000000 c000000000902988 c000000000902988 00000000000052c8
GPR12:
0000000024adbe22 c00000000fff4000 c000000000002038 0000000000000000
GPR16:
0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20:
0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR24:
0000000000000000 0000000000000000 c000000000972dc8 c0000000007e6fd0
GPR28:
c0000001f76d1d30 c0000001f76d1c10 c0000001f76d1c00 0000000000000000
NIP [
c00000000032b238] .dma_async_device_register+0x3f8/0x5b8
LR [
c00000000032b234] .dma_async_device_register+0x3f4/0x5b8
Call Trace:
[
c0000001f70475b0] [
c00000000032b234] .dma_async_device_register+0x3f4/0x5b8 (unreliable)
[
c0000001f70476a0] [
c00000000032ca78] .fsldma_of_probe+0x298/0x438
[
c0000001f7047750] [
c00000000037080c] .platform_drv_probe+0x50/0x9c
[
c0000001f70477d0] [
c00000000036e74c] .really_probe+0xa4/0x29c
[
c0000001f7047870] [
c00000000036eae4] .__driver_attach+0x100/0x104
[
c0000001f7047900] [
c00000000036c1f0] .bus_for_each_dev+0x84/0xe4
[
c0000001f70479a0] [
c00000000036e164] .driver_attach+0x24/0x38
[
c0000001f7047a10] [
c00000000036dcc8] .bus_add_driver+0x1c8/0x2ac
[
c0000001f7047ab0] [
c00000000036f14c] .driver_register+0x8c/0x158
[
c0000001f7047b30] [
c0000000003707a8] .__platform_driver_register+0x6c/0x80
[
c0000001f7047ba0] [
c000000000898a3c] .fsldma_init+0x2c/0x40
[
c0000001f7047c10] [
c000000000001818] .do_one_initcall+0xb8/0x234
[
c0000001f7047d00] [
c000000000878e2c] .kernel_init_freeable+0x188/0x268
[
c0000001f7047db0] [
c000000000002054] .kernel_init+0x1c/0xfc8
[
c0000001f7047e30] [
c000000000000884] .ret_from_kernel_thread+0x58/0xd4
Instruction dump:
7fb9f840 3bffffe0 409effac 7f54d378 48000060 813d0050 2f890000 40befdd0
3c62ffe3 38632450 482f0aa9 60000000 <
0fe00000>
4bfffdb8 7f03c378 482ed465
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Kuninori Morimoto [Thu, 8 Jan 2015 01:38:50 +0000 (01:38 +0000)]
dmaengine: rcar-hpbdma: fixup WARNING of slave caps retrieval
ecc19d17868be9c9f8f00ed928791533c420f3e0
(dmaengine: Add a warning for drivers not using the generic slave
caps retrieval) added WARN() for DMA_SLAVE.
Kernel will shows WARNING without this patch.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Fabio Estevam [Mon, 29 Dec 2014 17:20:53 +0000 (15:20 -0200)]
dmaengine: imx-sdma: Return a proper error code in platform_get_irq()
There is no need to return a 'fake' value upon platform_get_irq() failure.
Just propagate the real error instead.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Fabio Estevam [Mon, 29 Dec 2014 17:20:52 +0000 (15:20 -0200)]
dmaengine: imx-sdma: Use devm functions
By using devm functions we can make the code shorter and cleaner.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Fabio Estevam [Mon, 29 Dec 2014 17:20:51 +0000 (15:20 -0200)]
dmaengine: imx-sdma: Declare slave capabilities for the generic code
Since
ecc19d17868be9c ("dmaengine: Add a warning for drivers not using the
generic slave caps retrieval") the following warning is observed:
[ 0.224981] ------------[ cut here ]------------
[ 0.225013] WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:830 dma_async_device_register+0x2a0/0x4c8()
[ 0.225023] this driver doesn't support generic slave capabilities reporting
Declare the slave capabilities to avoid such warning.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Fabio Estevam [Mon, 29 Dec 2014 17:21:19 +0000 (15:21 -0200)]
dmaengine: mxs-dma: Declare slave capabilities for the generic code
Since
ecc19d17868be9c ("dmaengine: Add a warning for drivers not using the
generic slave caps retrieval") the following warning is observed:
[ 0.113023] ------------[ cut here ]------------
[ 0.113053] WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:830 dma_async_device_register+0x2a0/0x4c8()
[ 0.113063] this driver doesn't support generic slave capabilities reporting
Declare the slave capabilities to avoid such warning.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Andy Shevchenko [Fri, 2 Jan 2015 14:17:24 +0000 (16:17 +0200)]
dmaengine: dw: provide DMA capabilities
The new DMAEngine requirement is to provide what the DMA controller can do,
such as directions, bus widths, and residue granularity. The patch sets those
properties for the DesignWare DMA controller driver.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Wolfram Sang [Tue, 13 Jan 2015 16:46:48 +0000 (17:46 +0100)]
dmaengine: drop owner assignment from platform_drivers
This platform_driver does not need to set an owner, it will be populated by the
driver core.
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Arnd Bergmann [Tue, 13 Jan 2015 13:31:46 +0000 (14:31 +0100)]
dmaengine: mmp-tdma: fix terminate_all return code
In a recent cleanup, the mmp_tdma_terminate_all function was
introduced but does not set a proper return value. Almost
no slave driver uses that return value, but if one does, the
result will be undefined, which the compiler warns about:
dma/mmp_tdma.c: In function 'mmp_tdma_terminate_all':
dma/mmp_tdma.c:474:1: warning: no return statement in function returning non-void [-Wreturn-type]
This changes the driver to return zero, like most other
drivers do.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes:
f43a6fd400ba6 ("dmaengine: mmp-tdma: Split device_control")
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Arnd Bergmann [Tue, 13 Jan 2015 13:25:19 +0000 (14:25 +0100)]
dmaengine: mmp-tdma: don't include mach/regs-icu.h
The mmp tdma driver does not actually require this header, and
we want to enable multiplatform support for MMP, which would
make it inaccessible and cause a build error.
This patch just removes the old #include.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Arnd Bergmann [Tue, 13 Jan 2015 13:23:13 +0000 (14:23 +0100)]
dmaengine: k3: fix duplicate function definition
Commit
db08425ebd51f ("dmaengine: k3: Split device_control") introduced
two new helper functions, which unfortunately have the same names
as the existing suspend/resume functions, resulting in a build error
when CONFIG_PM_SLEEP is enabled:
drivers/dma/k3dma.c:823:12: error: conflicting types for 'k3_dma_resume'
static int k3_dma_resume(struct device *dev)
^
drivers/dma/k3dma.c:625:12: note: previous definition of 'k3_dma_resume' was here
static int k3_dma_resume(struct dma_chan *chan)
^
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes:
db08425ebd51f ("dmaengine: k3: Split device_control")
Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Krzysztof Kozlowski [Mon, 29 Dec 2014 13:01:30 +0000 (14:01 +0100)]
dmaengine: k3: Fix duplicated function name and allmodconfig build
While splitting device control in
db08425ebd51 ("dmaengine: k3:
Split device_control") new function with the same 'k3_dma_resume' name
was added, leading to build error:
drivers/dma/k3dma.c:823:12: error: conflicting types for ‘k3_dma_resume’
drivers/dma/k3dma.c:625:12: note: previous definition of ‘k3_dma_resume’ was here
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Jürg Billeter [Tue, 25 Nov 2014 14:10:17 +0000 (15:10 +0100)]
dmaengine: rcar-dmac: Handle hardware descriptor allocation failure
If the atomic DMA coherent pool is too small, disable use of hardware
descriptor lists instead of crashing the system:
ERROR: 256 KiB atomic DMA coherent pool is too small!
Please increase it with coherent_pool= kernel parameter!
Unable to handle kernel NULL pointer dereference at virtual address
00000004
Internal error: Oops: a07 [#1] PREEMPT SMP ARM
PC is at rcar_dmac_chan_reinit+0x3c/0x160
LR is at _raw_spin_lock_irqsave+0x18/0x5c
[<
802132c0>] (rcar_dmac_chan_reinit) from [<
80214818>] (rcar_dmac_isr_error+0x84/0xa0)
[<
80214818>] (rcar_dmac_isr_error) from [<
80060484>] (handle_irq_event_percpu+0x50/0x150)
[<
80060484>] (handle_irq_event_percpu) from [<
800605c0>] (handle_irq_event+0x3c/0x5c)
[<
800605c0>] (handle_irq_event) from [<
8006350c>] (handle_fasteoi_irq+0xb8/0x198)
[<
8006350c>] (handle_fasteoi_irq) from [<
8005fdb0>] (generic_handle_irq+0x20/0x30)
[<
8005fdb0>] (generic_handle_irq) from [<
8000fcd0>] (handle_IRQ+0x50/0xc4)
[<
8000fcd0>] (handle_IRQ) from [<
800092cc>] (gic_handle_irq+0x28/0x5c)
[<
800092cc>] (gic_handle_irq) from [<
80012700>] (__irq_svc+0x40/0x70)
Kernel panic - not syncing: Fatal exception in interrupt
Signed-off-by: Jürg Billeter <j@bitron.ch>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Laurent Pinchart [Fri, 18 Jul 2014 22:05:14 +0000 (00:05 +0200)]
dmaengine: rcar-dmac: Cache hardware descriptors memory
Unlike DMA transfers descriptors that are preallocated and cached,
memory used to store hardware descriptors is allocated and freed with
the DMA coherent allocation API for every transfer. Besides degrading
performances, this creates a CMA stress test that seems to cause issues.
Running dmatest with the noverify option produces
[ 50.066539] alloc_contig_range test_pages_isolated(6b845, 6b846) failed
[ 50.235180] alloc_contig_range test_pages_isolated(6b848, 6b84e) failed
[ 52.964584] alloc_contig_range test_pages_isolated(6b847, 6b848) failed
[ 54.127113] alloc_contig_range test_pages_isolated(6b843, 6b844) failed
[ 56.270253] alloc_contig_range test_pages_isolated(6b84c, 6b850) failed
The root cause needs to be fixed, but in the meantime, as a workaround
and a performance improvement, cache hardware descriptors.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Laurent Pinchart [Wed, 16 Jul 2014 21:15:48 +0000 (23:15 +0200)]
dmaengine: rcar-dmac: Implement support for hardware descriptor lists
The DMAC supports hardware-based auto-configuration from descriptor
lists. This reduces the number of interrupts required for processing a
DMA transfer. Support that mode in the driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Laurent Pinchart [Tue, 8 Jul 2014 22:42:19 +0000 (00:42 +0200)]
dmaengine: rcar-dmac: Add Renesas R-Car Gen2 DMA Controller (DMAC) driver
The DMAC is a general purpose multi-channel DMA controller that supports
both slave and memcpy transfers.
The driver currently supports the DMAC found in the r8a7790 and r8a7791
SoCs. Support for compatible DMA controllers (such as the audio DMAC)
will be added later.
Feature-wise, automatic hardware handling of descriptors chains isn't
supported yet. LPAE support is implemented.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Laurent Pinchart [Sun, 6 Jul 2014 14:07:20 +0000 (16:07 +0200)]
dmaengine: rcar-dmac: Remove duplicate sentence from DT bindings
DT bindings are complex enough without expressing the same information
twice in a slightly different way. Remove the duplicate.
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Laurent Pinchart [Wed, 6 Aug 2014 08:52:41 +0000 (10:52 +0200)]
dmaengine: Add 16 bytes, 32 bytes and 64 bytes bus widths
The widths are missing, add them.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Rickard Strandqvist [Sun, 21 Dec 2014 17:18:22 +0000 (18:18 +0100)]
dmaengine: imx-dma.c: Remove unused function
Remove the function is_imx21_dma() that is not used anywhere.
This was partially found by using a static code analysis program called cppcheck.
Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 22 Dec 2014 14:54:14 +0000 (20:24 +0530)]
dmaengine: nbpfaxi: update the driver comments
driver comment refers to DMA_PAUSE which needs to be updated to
.device_pause
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 22 Dec 2014 14:54:14 +0000 (20:24 +0530)]
dmaengine: ep93xx: update the driver comments
driver comment refers to DMA_SLAVE_CONFIG which needs to be updated to
.device_config
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 22 Dec 2014 14:54:14 +0000 (20:24 +0530)]
dmaengine: dw: update the driver comments
driver comment refers to DMA_SLAVE_CONFIG which needs to be updated to
.device_config
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 22 Dec 2014 14:54:14 +0000 (20:24 +0530)]
dmaengine: at_hdmac: update the driver comments
driver comment refers to DMA_SLAVE_CONFIG which needs to be updated to
.device_config
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 8 Dec 2014 06:00:17 +0000 (11:30 +0530)]
dmaengine: tegra: fix incompatible pointer type warns
drivers/dma/tegra20-apb-dma.c:1428:37: warning: assignment from incompatible pointer type [enabled by default]
drivers/dma/ste_dma40.c: In function 'd40_terminate_all':
The function prototype expects return type 'int' whereas these where void
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 8 Dec 2014 05:57:08 +0000 (11:27 +0530)]
dmaengine: ste_dma: fix incompatible pointer type warns
drivers/dma/ste_dma40.c:2627:3: warning: 'return' with a value, in function returning void [enabled by default]
drivers/dma/ste_dma40.c: In function 'd40_ops_init':
drivers/dma/ste_dma40.c:2869:28: warning: assignment from incompatible pointer type [enabled by default]
The function prototype expects return type 'int' whereas these where void
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 8 Dec 2014 05:55:50 +0000 (11:25 +0530)]
dmaengine: mxs-dma: fix unused variable warn
drivers/dma/mxs-dma.c: In function 'mxs_dma_terminate_all':
drivers/dma/mxs-dma.c:662:23: warning: unused variable 'mxs_chan'[-Wunused-variable]
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Mon, 8 Dec 2014 05:54:09 +0000 (11:24 +0530)]
dmaengine: mxs-dma: fix incompatible pointer type build warns
drivers/dma/mxs-dma.c: In function 'mxs_dma_probe':
drivers/dma/mxs-dma.c:848:35: warning: assignment from incompatible pointer type [enabled by default]
drivers/dma/mxs-dma.c:849:36: warning: assignment from incompatible pointer type [enabled by default]
The function prototype expects return type 'int' whereas these where void
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Sun, 7 Dec 2014 17:48:01 +0000 (23:18 +0530)]
Documentation: dmaengine: clarify dma_slave_config expectations
dma_slave_config is expected to be set for slave operations Only, not for
memcpy ones
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Sun, 7 Dec 2014 17:42:31 +0000 (23:12 +0530)]
dmaengine: omap: fix the assignment to .device_config
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Vinod Koul [Sun, 7 Dec 2014 17:37:38 +0000 (23:07 +0530)]
dmaengine: mxs-dma: fix the arg to mxs_dma_reset_chan()
mxs_dma_reset_chan() expects struct dma_chan * as argument but we were
providing struct dma_chan, so fix this
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:55 +0000 (14:42 +0100)]
Documentation: dmaengine: Update the documentation
Now that we have splitted device_control and removed device_slave_caps in favor
of a few dma_device variables, update the documentation accordingly.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:54 +0000 (14:42 +0100)]
dmaengine: Remove device_control and device_slave_caps
Now that device_control has been split into several functions, and
device_slave_caps rendered useless, we can safely remove them.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:53 +0000 (14:42 +0100)]
dmaengine: Add a warning for drivers not using the generic slave caps retrieval
For the slave caps retrieval to be really useful, most drivers need to
implement it.
Hence, we need to be slightly more aggressive, and trigger a warning at
registration time for drivers that don't fill their caps infos in order to
encourage them to implement it.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:52 +0000 (14:42 +0100)]
dmaengine: sun6i: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:51 +0000 (14:42 +0100)]
dmaengine: sirf: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:50 +0000 (14:42 +0100)]
dmaengine: pl330: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:49 +0000 (14:42 +0100)]
dmaengine: omap: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:48 +0000 (14:42 +0100)]
dmaengine: nbpfaxi: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:47 +0000 (14:42 +0100)]
dmaengine: edma: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:46 +0000 (14:42 +0100)]
dmaengine: fsl-edma: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:45 +0000 (14:42 +0100)]
dmaengine: bcm2835: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Ludovic Desroches [Mon, 17 Nov 2014 13:42:44 +0000 (14:42 +0100)]
dmaengine: at_xdmac: Declare slave capabilities for the generic code
Now that the generic slave caps code can make use of the device assigned
capabilities, instead of relying on a callback to be implemented.
Make use of this code.
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:43 +0000 (14:42 +0100)]
dmaengine: rapidio: tsi721: Rename device_control
Rename the device_control callback of the TXX9 DMA driver to terminate_all
since it's all it's really doing. That will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:42 +0000 (14:42 +0100)]
dmaengine: txx9: Rename device_control
Rename the device_control callback of the TXX9 DMA driver to terminate_all
since it's all it's really doing. That will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:41 +0000 (14:42 +0100)]
dmaengine: td: Rename device_control
Rename the device_control callback of the Timberdal DMA driver to terminate_all
since it's all it's really doing. That will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:40 +0000 (14:42 +0100)]
dmaengine: pch-dma: Rename device_control
Rename the device_control callback of the Intel PCH DMA driver to terminate_all
since it's all it's really doing. That will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:39 +0000 (14:42 +0100)]
dmaengine: mv_xor: Remove device_control
The Marvell XOR engine doesn't allow any operations that use to be defined in
device_control, it shouldn't need to be defined. Since it's going to be
deprecated, remove it altogether.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:38 +0000 (14:42 +0100)]
dmaengine: xilinx: Split device_control
Split the device_control callback of the Xilinx VDMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:37 +0000 (14:42 +0100)]
dmaengine: tegra20: Split device_control
Split the device_control callback of the NVidia Tegra20 APB DMA driver to make
use of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:36 +0000 (14:42 +0100)]
dmaengine: d40: Split device_control
Split the device_control callback of the ST-Ericsson DMA 40 driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:35 +0000 (14:42 +0100)]
dmaengine: sun6i: Split device_control
Split the device_control callback of the Allwinner A31 DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:34 +0000 (14:42 +0100)]
dmaengine: sirf: Split device_control
Split the device_control callback of the SiRF Prima 2 DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:33 +0000 (14:42 +0100)]
dmaengine: sh: Split device_control
Split the device_control callback of the Super-H DMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:32 +0000 (14:42 +0100)]
dmaengine: sa11x0: Split device_control
Split the device_control callback of the SA-11x0 DMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:31 +0000 (14:42 +0100)]
dmaengine: s3c24xx: Split device_control
Split the device_control callback of the Samsung S3C24xxx DMA driver to make
use of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:30 +0000 (14:42 +0100)]
dmaengine: bam-dma: Split device_control
Split the device_control callback of the Qualcomm BAM DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:29 +0000 (14:42 +0100)]
dmaengine: pl330: Split device_control
Split the device_control callback of the AMBA PL330 DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:28 +0000 (14:42 +0100)]
dmaengine: omap: Split device_control
Split the device_control callback of the TI OMAP DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:27 +0000 (14:42 +0100)]
dmaengine: nbpfaxi: Split device_control
Split the device_control callback of the NBPF AXI DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:26 +0000 (14:42 +0100)]
dmaengine: mxs: Split device_control
Split the device_control callback of the Freescale MXS DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:25 +0000 (14:42 +0100)]
dmaengine: mpc512x: Split device_control
Split the device_control callback of the Freescale MPC512x DMA driver to make
use of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:24 +0000 (14:42 +0100)]
dmaengine: fsl-dma: Split device_control
Split the device_control callback of the Freescale Elo DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
While we're at it, remove the useless prep_sg callback.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:23 +0000 (14:42 +0100)]
dmaengine: moxart: Split device_control
Split the device_control callback of the Moxart DMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:22 +0000 (14:42 +0100)]
dmaengine: mmp-tdma: Split device_control
Split the device_control callback of the Marvell MMP TDMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:21 +0000 (14:42 +0100)]
dmaengine: mmp-pdma: Split device_control
Split the device_control callback of the Marvell MMP PDMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:20 +0000 (14:42 +0100)]
dmaengine: k3: Split device_control
Split the device_control callback of the Hisilicon K3 DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:19 +0000 (14:42 +0100)]
dmaengine: ipu-idmac: Split device_control
Split the device_control callback of the IPU IDMAC driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:18 +0000 (14:42 +0100)]
dmaengine: intel-mid-dma: Split device_control
Split the device_control callback of the Intel MID DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:17 +0000 (14:42 +0100)]
dmaengine: imx-sdma: Split device_control
Split the device_control callback of the Freescale IMX SDMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:16 +0000 (14:42 +0100)]
dmaengine: imx: Split device_control
Split the device_control callback of the Freescale IMX DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:15 +0000 (14:42 +0100)]
dmaengine: fsl-edma: Split device_control
Split the device_control callback of the Freescale EDMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:14 +0000 (14:42 +0100)]
dmaengine: ep93xx: Split device_control
Split the device_control callback of the Cirrus Logic EP93xx driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:13 +0000 (14:42 +0100)]
dmaengine: edma: Split device_control
Split the device_control callback of the TI EDMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:12 +0000 (14:42 +0100)]
dmaengine: dw: Split device_control
Split the device_control callback of the DesignWare DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:11 +0000 (14:42 +0100)]
dmaengine: jz4740: Split device_control
Split the device_control callback of the JZ4740 DMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:10 +0000 (14:42 +0100)]
dmaengine: cppi41: Split device_control
Split the device_control callback of the TI CPPI41 DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:09 +0000 (14:42 +0100)]
dmaengine: coh901318: Split device_control
Split the device_control callback of the ST-Ericsson COH901318 DMA driver to
make use of the newly introduced callbacks, that will eventually be used to
retrieve slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:08 +0000 (14:42 +0100)]
dmaengine: bcm2835: Split device_control
Split the device_control callback of the Broadcom BCM2835 DMA driver to make
use of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Ludovic Desroches [Mon, 17 Nov 2014 13:42:07 +0000 (14:42 +0100)]
dmaengine: at_xdmac: split device_control
Use newly introduced callbacks.
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:06 +0000 (14:42 +0100)]
dmaengine: hdmac: Split device_control
Split the device_control callback of the Atmel HDMAC driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:05 +0000 (14:42 +0100)]
dmaengine: pl08x: Split device_control
Split the device_control callback of the AMBA PL08x DMA driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:04 +0000 (14:42 +0100)]
dmaengine: Create a generic dma_slave_caps callback
dma_slave_caps is very important to the generic layers that might interact with
dmaengine, such as ASoC. Unfortunately, it has been added as yet another
dma_device callback, and most of the existing drivers haven't implemented it,
reducing its reliability.
Introduce a generic behaviour to implement this, that rely on both the split of
device_control to derive which functions are supported and on new variables to
be set in the dma_device structure.
These variables holds what used to be the capabilities, that were set
per-channel. However, this proved to be a bit overkill, since every driver
filling these so far were hardcoding it, disregarding which channel was
actually given.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:03 +0000 (14:42 +0100)]
dmaengine: Remove the need to declare device_control
In order to migrate the drivers without triggering a BUG_ON for the converted
drivers, which would cause bisectability issues, we need to remove that check
before removing the device_control function entirely.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:02 +0000 (14:42 +0100)]
dmaengine: Add device_terminate_all callback
Split out the terminate_all command from device_control to a dma_device
callback. In order to preserve backward capability, still rely on
device_control if no such callback has been implemented.
Eventually, this will allow to create a generic dma_slave_caps callback.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:01 +0000 (14:42 +0100)]
dmaengine: split out pause/resume operations from device_control
Split out the pause and resume operations to callbacks of their own. In order
to preserve some backwark compatibility, the dmaengine_pause/dmaengine_resume
are still falling back on dmaengine_device_control.
Eventually, that will allow to get the device capabilities in a generic way,
removing the need to implement device_slave_caps.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:42:00 +0000 (14:42 +0100)]
dmaengine: Introduce a device_config callback
The fact that the channel configuration is done in device_control is rather
misleading, since it's not really advertised as such, plus, the fact that the
framework exposes a function of its own makes it not really intuitive, while
we're losing the type checking whenever we pass that unsigned long argument.
Add a device_config callback to dma_device, with a fallback on the old
behaviour for now for existing drivers to opt in.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Maxime Ripard [Mon, 17 Nov 2014 13:41:59 +0000 (14:41 +0100)]
dmaengine: Make channel allocation callbacks optional
Nowadays, some drivers don't have anything in there channel allocation
callbacks anymore.
Remove the BUG_ON if those callbacks aren't implemented, in order to allow
drivers to not implement them.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>