18 Sep, 2020
1 commit
-
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.Signed-off-by: Romain Perier
Signed-off-by: Allen Pais
Link: https://lore.kernel.org/r/20200831103542.305571-5-allen.lkml@gmail.com
Signed-off-by: Vinod Koul
25 Feb, 2020
1 commit
-
The caller is already holding the lock so this will deadlock.
Fixes: 0b58828c923e ("DMAENGINE: COH 901 318 remove irq counting")
Signed-off-by: Dan Carpenter
Link: https://lore.kernel.org/r/20200217144050.3i4ymbytogod4ijn@kili.mountain
Signed-off-by: Vinod Koul
18 Jul, 2019
1 commit
-
Pull dmaengine updates from Vinod Koul:
- Add support in dmaengine core to do device node checks for DT devices
and update bunch of drivers to use that and remove open coding from
drivers- New driver/driver support for new hardware, namely:
- MediaTek UART APDMA
- Freescale i.mx7ulp edma2
- Synopsys eDMA IP core version 0
- Allwinner H6 DMA- Updates to axi-dma and support for interleaved cyclic transfers
- Greg's debugfs return value check removals on drivers
- Updates to stm32-dma, hsu, dw, pl330, tegra drivers
* tag 'dmaengine-5.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (68 commits)
dmaengine: Revert "dmaengine: fsl-edma: add i.mx7ulp edma2 version support"
dmaengine: at_xdmac: check for non-empty xfers_list before invoking callback
Documentation: dmaengine: clean up description of dmatest usage
dmaengine: tegra210-adma: remove PM_CLK dependency
dmaengine: fsl-edma: add i.mx7ulp edma2 version support
dt-bindings: dma: fsl-edma: add new i.mx7ulp-edma
dmaengine: fsl-edma-common: version check for v2 instead
dmaengine: fsl-edma-common: move dmamux register to another single function
dmaengine: fsl-edma: add drvdata for fsl-edma
dmaengine: Revert "dmaengine: fsl-edma: support little endian for edma driver"
dmaengine: rcar-dmac: Reject zero-length slave DMA requests
dmaengine: dw: Enable iDMA 32-bit on Intel Elkhart Lake
dmaengine: dw-edma: fix semicolon.cocci warnings
dmaengine: sh: usb-dmac: Use [] to denote a flexible array member
dmaengine: dmatest: timeout value of -1 should specify infinite wait
dmaengine: dw: Distinguish ->remove() between DW and iDMA 32-bit
dmaengine: fsl-edma: support little endian for edma driver
dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width"
dmagengine: pl330: add code to get reset property
dt-bindings: pl330: document the optional resets property
...
14 Jun, 2019
1 commit
-
No need to check the return value of debugfs_create_file(), so no need
to provide a fake "cast away" of the return value either.Cc: Linus Walleij
Cc: Vinod Koul
Cc: Dan Williams
Cc: linux-arm-kernel@lists.infradead.org
Cc: dmaengine@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman
Reviewed-by: Linus Walleij
Signed-off-by: Vinod Koul
31 May, 2019
1 commit
-
Based on 1 normalized pattern(s):
license terms gnu general public license gpl version 2
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-only
has been chosen to replace the boilerplate/reference in 161 file(s).
Signed-off-by: Thomas Gleixner
Reviewed-by: Allison Randal
Reviewed-by: Alexios Zavras
Reviewed-by: Steve Winslow
Reviewed-by: Richard Fontana
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190528170027.447718015@linutronix.de
Signed-off-by: Greg Kroah-Hartman
26 Nov, 2018
1 commit
-
Commit 627469e4445b ("dmaengine: coh901318: Fix a double-lock bug") left
flags variable unused, so remove it to fix the warning.drivers/dma/coh901318.c: In function 'coh901318_config':
drivers/dma/coh901318.c:1805:16: warning: unused variable 'flags' [-Wunused-variable]
unsigned long flags;
^~~~~Fixes: 627469e4445b ("dmaengine: coh901318: Fix a double-lock bug")
Reported-By: Stephen Rothwell
Signed-off-by: Vinod Koul
24 Nov, 2018
1 commit
-
The function coh901318_alloc_chan_resources() calls spin_lock_irqsave()
before calling coh901318_config().
But coh901318_config() calls spin_lock_irqsave() again in its
definition, which may cause a double-lock bug.Because coh901318_config() is only called by
coh901318_alloc_chan_resources(), the bug fix is to remove the
calls to spin-lock and -unlock functions in coh901318_config().Signed-off-by: Jia-Ju Bai
Reviewed-by: Linus Walleij
Signed-off-by: Vinod Koul
07 Oct, 2018
1 commit
-
dma_slave_config direction was marked as deprecated quite some
time back, remove the usage from this driver so that the field
can be removedAcked-by: Linus Walleij
Signed-off-by: Vinod Koul
08 Nov, 2017
1 commit
-
Since commit 3cab1e711297 ("lib/vsprintf: refactor duplicate code
to special_hex_number()") %pad doesn't need 0x prefix so drop that.Acked-by: Ludovic Desroches
Signed-off-by: Vinod Koul
03 Oct, 2016
2 commits
-
Signed-off-by: Vinod Koul
Conflicts:
drivers/dma/cppi41.c
01 Oct, 2016
1 commit
-
Currently U300_DMA_CHANNELS is set to 40, meaning that the shift of 1 can
be more than 32 places, which leads to a 32 bit integer overflow. Fix this
by using 1ULL instead of 1 before shifting it. Also add braces on the
for-loop to keep with coding style conventions.Signed-off-by: Colin Ian King
Signed-off-by: Vinod Koul
27 Sep, 2016
3 commits
-
On some systems, pointer can be large than unsigned int, triggering warning
pointer-to-int-cast on conversion.drivers/dma/coh901318.c: In function 'coh901318_filter_id':
drivers/dma/coh901318.c:1769:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
unsigned int ch_nr = (unsigned int) chan_id;Also, converting an iomem pointer for print leads to warn on some system
which can be avoided with %p specfierdrivers/dma/coh901318.c: In function 'coh901318_probe':
drivers/dma/coh901318.c:2748:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(u32) base->virtbase);Acked-by: Linus Walleij
Signed-off-by: Vinod Koul -
The file_operations.read expects return as ssize_t, so update
coh901318_debugfs_read to return ssize_t to fix the warning:drivers/dma/coh901318.c:1369:2: warning: initialization from incompatible pointer type [enabled by default]
.read = coh901318_debugfs_read,Acked-by: Linus Walleij
Signed-off-by: Vinod Koul -
This driver when compiled on 64 bits gave warnings:
drivers/dma/coh901318.c: In function 'coh901318_list_print':
warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t' [-Wformat=]
warning: format '%x' expects argument of type 'unsigned int', but argument 8 has type 'dma_addr_t' [-Wformat=]
warning: format '%x' expects argument of type 'unsigned int', but argument 9 has type 'dma_addr_t' [-Wformat=]drivers/dma/coh901318.c: In function 'coh901318_prep_memcpy':
warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'dma_addr_t' [-Wformat=]
warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t' [-Wformat=]
warning: format '%d' expects argument of type 'int', but argument 8 has type 'size_t' [-Wformat=]We should use %pad to print 'dma_addr_t' values and %zu to print size_t
valuesAcked-by: Linus Walleij
Signed-off-by: Vinod Koul
14 Sep, 2016
1 commit
-
The combo of list_empty() check and return list_first_entry()
can be replaced with list_first_entry_or_null().Signed-off-by: Masahiro Yamada
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
08 Aug, 2016
1 commit
-
This is in preperation of moving to a callback that provides results to the
callback for the transaction. The conversion will maintain current behavior
and the driver must convert to new callback mechanism at a later time in
order to receive results.Signed-off-by: Dave Jiang
Reviewed-by: Lars-Peter Clausen
Cc: Linus Walleij
Signed-off-by: Vinod Koul
23 Jul, 2016
1 commit
-
debugfs file operations owner is set by core, so remove
Signed-off-by: Vinod Koul
Cc: Linus Walleij
16 Jul, 2016
3 commits
-
Sparse complains:
drivers/dma/coh901318.c:269:30: warning: symbol 'chan_config' was not declared. Should it be static?
drivers/dma/coh901318.c:2806:12: warning: symbol 'coh901318_init' was not declared. Should it be static?
drivers/dma/coh901318.c:2812:13: warning: symbol 'coh901318_exit' was not declared. Should it be static?Signed-off-by: Vinod Koul
Acked-by: Linus Walleij -
drivers should ensure that tasklets are killed, so that they can't be
run after driver remove is executed.Signed-off-by: Vinod Koul
Acked-by: Linus Walleij -
dmaengine device should explicitly call devm_free_irq() when using
devm_request_irq().The irq is still ON when devices remove is executed and irq should be
quiesced before remove is completed.Signed-off-by: Vinod Koul
Acked-by: Linus Walleij
22 Jun, 2016
1 commit
-
There is no point in calculating the residue if there is no
txstate to store the value.Signed-off-by: Peter Griffin
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
05 Aug, 2015
1 commit
-
Most drivers need to set constraints on the buffer alignment for async tx
operations. However, even though it is documented, some drivers either use
a defined constant that is not matching what the alignment variable expects
(like DMA_BUSWIDTH_* constants) or fill the alignment in bytes instead of
power of two.Add a new enum for these alignments that matches what the framework
expects, and convert the drivers to it.Signed-off-by: Maxime Ripard
Signed-off-by: Vinod Koul
18 Jan, 2015
1 commit
-
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_resumeThe 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
Fixes: 6782af118b6c ("dmaengine: coh901318: Split device_control")
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
22 Dec, 2014
1 commit
-
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
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
16 Oct, 2014
1 commit
-
The drivers should use dmaengine_terminate_all() API instead of accessing
the device_control which will be deprecated soonSigned-off-by: Vinod Koul
25 Oct, 2013
1 commit
-
Acked-by: Dan Williams
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
13 Oct, 2013
1 commit
-
This patch proposes to remove the use of the IRQF_DISABLED flag
It's a NOOP since 2.6.35 and it will be removed one day.
Signed-off-by: Michael Opdenacker
Signed-off-by: Vinod Koul
04 Sep, 2013
1 commit
-
... and BTW, failing copy_to_user() means EFAULT, not EINVAL
Signed-off-by: Al Viro
17 Jun, 2013
1 commit
-
This adds support for probing the COH 901 318 DMA controller
and channels from the device tree.Contains portions of a sketch patch from Arnd Bergmann.
Cc: Arnd Bergmann
Acked-by: Vinod Koul
Signed-off-by: Linus Walleij
15 Apr, 2013
1 commit
-
Removing the annotation with __exit and referencing with __exit_p()
present in dma driver module remove hooks.Part of the __devexit and __devexit_p() purge.
Signed-off-by: Maxin B. John
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
27 Feb, 2013
1 commit
-
Pull slave-dmaengine updates from Vinod Koul:
"This is fairly big pull by my standards as I had missed last merge
window. So we have the support for device tree for slave-dmaengine,
large updates to dw_dmac driver from Andy for reusing on different
architectures. Along with this we have fixes on bunch of the drivers"Fix up trivial conflicts, usually due to #include line movement next to
each other.* 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
ARM: dts: pl330: Add #dma-cells for generic dma binding support
DMA: PL330: Register the DMA controller with the generic DMA helpers
DMA: PL330: Add xlate function
DMA: PL330: Add new pl330 filter for DT case.
dma: tegra20-apb-dma: remove unnecessary assignment
edma: do not waste memory for dma_mask
dma: coh901318: set residue only if dma is in progress
dma: coh901318: avoid unbalanced locking
dmaengine.h: remove redundant else keyword
dma: of-dma: protect list write operation by spin_lock
dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
dma: of-dma.c: fix memory leakage
dw_dmac: apply default dma_mask if needed
dmaengine: ioat - fix spare sparse complain
dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
dw_dmac: add support for Lynxpoint DMA controllers
dw_dmac: return proper residue value
dw_dmac: fill individual length of descriptor
...
14 Feb, 2013
1 commit
-
When status is DMA_SUCCESS the residue should be zero. Otherwise it's a bug.
Signed-off-by: Andy Shevchenko
Acked-by: Viresh Kumar
Cc: Linus Walleij
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Vinod Koul
08 Jan, 2013
7 commits
-
Since we merged the platform data into the driver we can
remove the middle-man abstraction.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij -
We do not need two header files for the two parts of the driver
to talk to each other so merge them into one.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij -
Move everything in the header file that is not used in both
the main driver and the LLI portions into the driver, including
register definitions and such.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij -
The defines in U300's are now only used by
the DMA engine driver itself, so move the header down into the
DMA subsystem.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij -
Remove hard-coded target addresses altogether. Skip the prefix
"runtime_*" from the variables, since all of these are now
runtime and their names are unique enough already.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij -
Nowadays the clients should use the dmaengine framework to
tell the DMA driver what target address to use, so delete
these addresses, they are for an out-of-tree driver anyway.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij -
We're only ever going to support the U300 with this driver
so skip the separation of platform data from driver, and push
it down into the driver itself.Acked-by: Vinod Koul
Signed-off-by: Linus Walleij