Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This driver uses '#ifdef CONFIG_ARCH_SHMOBILE' and '#ifdef CONFIG_ARM'
interchangeably in its sh_dmae_probe function, which causes a build
warning when building for ARM without also enabling shmobile:
dma/sh/shdmac.c: In function sh_dmae_probe:
dma/sh/shdmac.c:696:6: warning: unused variable errirq [-Wunused-variable]
dma/sh/shdmac.c:695:16: warning: unused variable irqflags [-Wunused-variable]
dma/sh/shdmac.c: At top level:
dma/sh/shdmac.c:447:20: warning: sh_dmae_err defined but not used [-Wunused-function]
This changes all the #ifdef to test for CONFIG_ARCH_SHMOBILE to
avoid that warning. An earlier patch from Laurent had fixed the warning
for non-ARM case, but it still remained present in ARM randconfig builds.
Signed-off-by: Arnd Bergmann <[email protected]>
Fixes: 52d6a5ee101bf ("DMA: shdma: Fix warnings due to declared but unused symbols")
Acked-by: Laurent Pinchart <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
drivers/dma/xgene-dma.c:2079:3-8: No need to set .owner here. The core will do it.
Remove .owner field if calls are used which set it automatically
Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci
CC: Rameshwar Prasad Sahu <[email protected]>
Signed-off-by: Fengguang Wu <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Memory allocated for pch_dma is not deallocated in case of failure
in pch_dma_probe().
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Signed-off-by: Niklas Cassel <[email protected]>
Acked-by: Ludovic Desroches <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
The code here is checking for IS_ERR() but devm_ioremap() returns NULL
on error and not an error pointer.
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
We put 9 characters into the 8 character name[] array. Let's make the
array bigger and change the sprintf() to snprintf().
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch fixes an issue that the usb_dmac_desc_free() is
dereferencing freed memory 'desc' because it uses list_for_each_entry().
This function should use list_for_each_entry_safe().
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Yoshihiro Shimoda <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Fix the following warning by initializing necessary fields in the dma_device
structure.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:863 dma_async_device_register+0x2b4/0x4f0()
this driver doesn't support generic slave capabilities reporting
Modules linked in:
CPU: 0 PID: 1 Comm: swapper Not tainted 4.0.0-rc5+ #10
Hardware name: Sharp-Collie
[<c0105cd8>] (unwind_backtrace) from [<c0103ef8>] (show_stack+0x10/0x14)
[<c0103ef8>] (show_stack) from [<c010e9b8>] (warn_slowpath_common+0x74/0xac)
[<c010e9b8>] (warn_slowpath_common) from [<c010ea20>] (warn_slowpath_fmt+0x30/0x40)
[<c010ea20>] (warn_slowpath_fmt) from [<c02956fc>] (dma_async_device_register+0x2b4/0x4f0)
[<c02956fc>] (dma_async_device_register) from [<c0296a9c>] (sa11x0_dma_probe+0x21c/0x358)
[<c0296a9c>] (sa11x0_dma_probe) from [<c02c52c0>] (platform_drv_probe+0x30/0x94)
[<c02c52c0>] (platform_drv_probe) from [<c02c39bc>] (driver_probe_device+0x84/0x234)
[<c02c39bc>] (driver_probe_device) from [<c02c3c4c>] (__driver_attach+0x98/0x9c)
[<c02c3c4c>] (__driver_attach) from [<c02c1f9c>] (bus_for_each_dev+0x74/0xa4)
[<c02c1f9c>] (bus_for_each_dev) from [<c02c3230>] (bus_add_driver+0x13c/0x1e8)
[<c02c3230>] (bus_add_driver) from [<c02c4260>] (driver_register+0x78/0xf8)
[<c02c4260>] (driver_register) from [<c0100624>] (do_one_initcall+0x84/0x1f4)
[<c0100624>] (do_one_initcall) from [<c0700e1c>] (kernel_init_freeable+0xf8/0x1b4)
[<c0700e1c>] (kernel_init_freeable) from [<c040a920>] (kernel_init+0x8/0xf0)
[<c040a920>] (kernel_init) from [<c01013a8>] (ret_from_fork+0x14/0x2c)
---[ end trace e188b8fe0e782e75 ]---
Signed-off-by: Dmitry Eremin-Solenikov <[email protected]>
Acked-by: Russell King <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch fixes the following compilation warnings.
In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0:
include/linux/dmapool.h:18:4: warning: 'struct device' declared inside parameter list
size_t size, size_t align, size_t allocation);
^
include/linux/dmapool.h:18:4: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list
size_t size, size_t align, size_t allocation);
^
drivers/dma/xilinx/xilinx_vdma.c: In function 'xilinx_vdma_alloc_chan_resources':
drivers/dma/xilinx/xilinx_vdma.c:501:20: warning: passing argument 2 of 'dma_pool_create' from incompatible pointer type
chan->desc_pool = dma_pool_create("xilinx_vdma_desc_pool",
^
In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0:
include/linux/dmapool.h:17:18: note: expected 'struct device *' but argument is of type 'struct device *'
struct dma_pool *dma_pool_create(const char *name, struct device *dev, .
Signed-off-by: Kedareswara rao Appana <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Function fsl_re_chan_probe should be declared static, so do it
Signed-off-by: Vinod Koul <[email protected]>
|
|
The RaidEngine is a new FSL hardware used for Raid5/6 acceration.
This patch enables the RaidEngine functionality and provides
hardware offloading capability for memcpy, xor and pq computation.
It works with async_tx.
Signed-off-by: Harninder Rai <[email protected]>
Signed-off-by: Xuelin Shi <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Signed-off-by: Fengguang Wu <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
binding
This patch adds documentation for the APM X-Gene SoC DMA device DTS binding
Signed-off-by: Rameshwar Prasad Sahu <[email protected]>
Signed-off-by: Loc Ho <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch adds the device tree node for APM X-Gene SoC
DMA controller and DMA clock.
Signed-off-by: Rameshwar Prasad Sahu <[email protected]>
Signed-off-by: Loc Ho <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch implements the APM X-Gene SoC DMA engine driver. The APM X-Gene
SoC DMA engine consists of 4 DMA channels for performing DMA operations.
These DMA operations include memory copy, scatter-gather memory copy,
raid5 xor, and raid6 p+q offloading.
Signed-off-by: Rameshwar Prasad Sahu <[email protected]>
Signed-off-by: Loc Ho <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This DMAC is Renesas USB high-speed module DMA controller that
supports slave transfer.
This USB-DMAC has similar register sets with R-Car Gen2 DMAC, but
the USB-DMAC has specific registers to control the USB transactions.
If this code is added into the rcar-dmac driver, it will become
unreadable. So, this driver is independent from the rcar-dmac.
And, this USB-DMAC uses virt-dma infrastructure.
Signed-off-by: Yoshihiro Shimoda <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Document the device tree bindings for the Renesas USB DMA
Controller (USB-DMAC).
Signed-off-by: Yoshihiro Shimoda <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
The "data" parameter passed indirectly to the edma_callback() should be
edma_chan and not the dma_chan.
This bug was so far harmless since the offset of struct dma_chan within struct
edma_chan is 0. However as soon as someone changes struct edma_chan this would
cause troubles.
Signed-off-by: Petr Kulhavy <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
The function d40_prep_sg takes the type enum dma_transfer_direction
as second last parameter. However, the memcpy calls pass DMA_NONE
which is of type enum dma_data_direction. Fix this by passing the
actual transfer direction DMA_MEM_TO_MEM.
This does not change the actual code flow since only the transfer
direction DMA_MEM_TO_DEV and DMA_DEV_TO_MEM are actually used in the
function d40_prep_sg.
Signed-off-by: Stefan Agner <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Signed-off-by: Zubair Lutfullah Kakakhel <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch adds a driver for the DMA controller found in the Ingenic
JZ4780.
It currently does not implement any support for the programmable firmware
feature of the controller - this is not necessary for most uses. It also
does not take priority into account when allocating channels, it just
allocates the first available channel. This can be implemented later.
Signed-off-by: Alex Smith <[email protected]>
Signed-off-by: Zubair Lutfullah Kakakhel <[email protected]>
[Updated for dmaengine api changes, Add residue support, couple of minor fixes]
Signed-off-by: Vinod Koul <[email protected]>
|
|
Add device tree bindings for the DMA controller on JZ4780 SoCs, used by
the dma-jz4780 driver.
Signed-off-by: Alex Smith <[email protected]>
Signed-off-by: Zubair Lutfullah Kakakhel <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Acked-by: Maxime Ripard <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Signed-off-by: Vinod Koul <[email protected]>
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Signed-off-by: Vinod Koul <[email protected]>
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Acked-by: Zhangfei Gao <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Acked-by: Andrew Bresticker <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Acked-by: Lars-Peter Clausen <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Now that device_alloc_chan_resources handler in not mandatory, remove dummy
implementations
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
The pl330_tx_status() function returns the desc->status if the
dma_cookie_status() call does indicate the cookie completed,
however the desc->status is not look directly compatible. Sparse
throws the following warning:
pl330.c:2262:35: warning: mixing different enum types
pl330.c:2262:35: int enum desc_status versus
pl330.c:2262:35: int enum dma_status
Attempt to fix this by adding a switch statement to turn the
desc->status into a dma_status.
Note, this has only been tested with the dmatest suite.
Signed-off-by: Ben Dooks <[email protected]>
--
Vinod Koul <[email protected]>
Dan Williams <[email protected]>
DMA List <[email protected]>
Maxime Ripard <[email protected]>
Jassi Brar <[email protected]>
Liviu Dudau <[email protected]>
Linux ARM Kernel <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Whilst running sparse on pl330 driver it was noticed there are
two functions that are not static but not exported to any other
users in the kernel.
Fix the following warnings by making 'pl330_pause' and the
'pl330_get_current_xferred_count' static:
pl330.c:2165:5: warning: symbol 'pl330_pause' was not declared. Should it be static?
pl330.c:2206:5: warning: symbol 'pl330_get_current_xferred_count' was not declared. Should it be static?
Signed-off-by: Ben Dooks <[email protected]>
--
Vinod Koul <[email protected]>
Dan Williams <[email protected]>
DMA List <[email protected]>
Maxime Ripard <[email protected]>
Jassi Brar <[email protected]>
Liviu Dudau <[email protected]>
Linux ARM Kernel <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
When running Xilinx Zynq in big-endian mode the pl330 driver
fails to pass the dmatest suite. To fix this, ensure all non
byte values are written in little endian.
As a note, the documentation does not mention if it will do
big-endian descriptor fetches, only that it will swap the
data in flight.
Signed-off-by: Ben Dooks <[email protected]>
--
Vinod Koul <[email protected]>
Dan Williams <[email protected]>
DMA List <[email protected]>
Maxime Ripard <[email protected]>
Jassi Brar <[email protected]>
Liviu Dudau <[email protected]>
Linux ARM Kernel <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as
Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC).
And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine.
But, in result of DMA ML discussion, 2nd DMAC was concluded that it is
not a general purpose DMAC (2nd DMAC is for Device to Device inside
sound system). Additionally, current DMAEngine can't support Device to
Device, and we don't have correct DT bindings for it at this point.
So the easiest solution for it is that move it from DMAEngine to rsnd
driver.
Audio DMAC peri peri on DMAEngine is no longer needed. remove it.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
|
|
Currently when version 3.1 of the mx6q SDMA firmware is used we get:
[ 0.392169] imx-sdma 20ec000.sdma: unknown firmware version
[ 0.399281] imx-sdma 20ec000.sdma: initialized
Add support for it.
Based on a patch from Shengjiu Wang from the internal FSL kernel.
Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch moves the xilinx_dma.h header file
to the include/linux/dma.
Signed-off-by: Kedareswara rao Appana <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
84f11d5b1f2abc0e22895b7e12e037f0ec03caeb
(mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info)
replaced sh_mobile_sdhi_info to tmio_mmc_data, but it was missing
to replace board-ape6evm / board-mackerel.
Kernel build will be failed without this patch.
>> arch/arm/mach-shmobile/board-ape6evm.c:176:21: error: \
variable 'sdhi0_pdata' has initializer but incomplete type
static const struct sh_mobile_sdhi_info sdhi0_pdata __initconst = {
^
>> arch/arm/mach-shmobile/board-ape6evm.c:177:2: error: \
unknown field 'tmio_flags' specified in initializer
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE,
^
...
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Simon Horman <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Free Software Foundation mailing address has been moved in the past and some
of the addresses here are outdated. Remove them from file headers since the
COPYING file in the kernel sources includes it.
Signed-off-by: Jarkko Nikula <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Add register offset table entry for the newer (v1.7.0) version of the BAM IP
found on MSM8916. Update the DT bindings documentation.
Signed-off-by: Archit Taneja <[email protected]>
Tested-by: Ivan T. Ivanov <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
The same error message is printed from different switch cases. Since both of
these jump into same error label we can move error print there and add a DMA
direction in order to make it easier to grep error from sources.
Signed-off-by: Jarkko Nikula <[email protected]>
Acked-by: Viresh Kumar <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
The same error message is printed from different functions. Add a function
name to error message in order to make it easier to grep error from sources.
Signed-off-by: Jarkko Nikula <[email protected]>
Acked-by: Viresh Kumar <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
This patch adds support for memory to memory scatter-gather transfers.
Changes from V1:
* Fixed coding style of the multi-line comments.
Changes from V2:
* Added setup of 'desc->tx_width' that is needed to calculate the
residue.
Signed-off-by: Torsten Fleischer <[email protected]>
Acked-by: Nicolas Ferre <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Remove double check on chan->desc.
Found by Coccinelle.
Signed-off-by: Tapasweni Pathak <[email protected]>
Acked-by: Julia Lawall <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Current sh_mobile_sdhi's platform data is set via sh_mobile_sdhi_info
and it is just copied to tmio_mmc_data.
Now, tmio mmc platform data is specified via tmio_mmc_data.
This patch replace sh_mobile_sdhi_info to tmio_mmc_data
struct sh_mobile_sdhi_info { -> struct tmio_mmc_data {
int dma_slave_tx; -> void *chan_priv_tx;
int dma_slave_rx; -> void *chan_priv_rx;
unsigned long tmio_flags; -> unsigned long flags;
unsigned long tmio_caps; -> unsigned long capabilities;
unsigned long tmio_caps2; -> unsigned long capabilities2;
u32 tmio_ocr_mask; -> u32 ocr_mask;
unsigned int cd_gpio; -> unsigned int cd_gpio;
}; unsigned int hclk;
void (*set_pwr)(...);
void (*set_clk_div)(...);
};
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Ulf Hansson <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
dma_request_slave_channel_compat() in tmio_mmc_dma
needs .chan_priv_tx/.chan_priv_rx. But these are copied from
sh_mobile_sdhi only, and sh_mobile_sdhi_info is now almost
same as tmio_mmc_data except .chan_priv_?x.
sh_mobile_sdhi_info can be replaced to tmio_mmc_data, but it is
used from ${LINUX}/arch/arm/mach-shmobile, ${LINUX}/arch/sh.
So, this patch adds .chan_priv_?x into tmio_mmc_data as 1st step,
and sh_mobile_sdhi driver has dummy operation for now.
It will be replaced/removed together with platform data replace.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Ulf Hansson <[email protected]>
Acked-by: Lee Jones <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Since commit 7bced397510a ("net_dma: simple removal") removed the net_dma
support entirely, net_dma_find_channel has no users left. Remove the function
entirely.
Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Commit 7bce d397 510a ("net_dma: simple removal") removed the net_dma support
entirely but left some functions and prototypes in the dmaengine header.
Remove them.
Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|
|
Commit 48a9db462d99 ("drivers/dma: remove unused support for MEMSET
operations") removed support for the memset operation in dmaengine, but left
the fill_aligned field that was supposed to set the buffer alignment for the
memset operations.
Remove that field too.
Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
|