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

    Allen Pais
     

25 Feb, 2020

1 commit


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
    ...

    Linus Torvalds
     

14 Jun, 2019

1 commit


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

    Thomas Gleixner
     

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

    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

    Jia-Ju Bai
     

07 Oct, 2018

1 commit


08 Nov, 2017

1 commit


03 Oct, 2016

2 commits


01 Oct, 2016

1 commit


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 specfier

    drivers/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

    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

    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
    values

    Acked-by: Linus Walleij
    Signed-off-by: Vinod Koul

    Vinod Koul
     

14 Sep, 2016

1 commit


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

    Dave Jiang
     

23 Jul, 2016

1 commit


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

    Vinod Koul
     
  • 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

    Vinod Koul
     
  • 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

    Vinod Koul
     

22 Jun, 2016

1 commit


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

    Maxime Ripard
     

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_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
    Fixes: 6782af118b6c ("dmaengine: coh901318: Split device_control")
    Acked-by: Linus Walleij
    Signed-off-by: Vinod Koul

    Arnd Bergmann
     

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

    Maxime Ripard
     

16 Oct, 2014

1 commit


25 Oct, 2013

1 commit


13 Oct, 2013

1 commit


04 Sep, 2013

1 commit


17 Jun, 2013

1 commit


15 Apr, 2013

1 commit


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
    ...

    Linus Torvalds
     

14 Feb, 2013

1 commit


08 Jan, 2013

7 commits