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-32-allen.lkml@gmail.com
    Signed-off-by: Vinod Koul

    Allen Pais
     

15 Jul, 2020

1 commit

  • Fixes the following W=1 kernel build warning(s):

    drivers/dma/xgene-dma.c:310: warning: Function parameter or member 'dev' not described in 'xgene_dma'
    drivers/dma/xgene-dma.c:310: warning: Function parameter or member 'clk' not described in 'xgene_dma'

    Signed-off-by: Lee Jones
    Cc: Prasad Sahu
    Cc: Loc Ho
    Link: https://lore.kernel.org/r/20200714111546.1755231-15-lee.jones@linaro.org
    Signed-off-by: Vinod Koul

    Lee Jones
     

31 Jul, 2019

1 commit

  • We don't need dev_err() messages when platform_get_irq() fails now that
    platform_get_irq() prints an error message itself when something goes
    wrong. Let's remove these prints with a simple semantic patch.

    //
    @@
    expression ret;
    struct platform_device *E;
    @@

    ret =
    (
    platform_get_irq(E, ...)
    |
    platform_get_irq_byname(E, ...)
    );

    if ( \( ret < 0 \| ret

    While we're here, remove braces on if statements that only have one
    statement (manually).

    Cc: Vinod Koul
    Cc: Dan Williams
    Cc: dmaengine@vger.kernel.org
    Cc: Greg Kroah-Hartman
    Signed-off-by: Stephen Boyd
    Link: https://lore.kernel.org/r/20190730181557.90391-11-swboyd@chromium.org
    Signed-off-by: Vinod Koul

    Stephen Boyd
     

21 May, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not see http www gnu org licenses

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details [based]
    [from] [clk] [highbank] [c] you should have received a copy of the
    gnu general public license along with this program if not see http
    www gnu org licenses

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 355 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Kate Stewart
    Reviewed-by: Jilayne Lovejoy
    Reviewed-by: Steve Winslow
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190519154041.837383322@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

26 Apr, 2019

1 commit


26 Mar, 2019

1 commit


08 Jan, 2019

1 commit

  • We already need to zero out memory for dma_alloc_coherent(), as such
    using dma_zalloc_coherent() is superflous. Phase it out.

    This change was generated with the following Coccinelle SmPL patch:

    @ replace_dma_zalloc_coherent @
    expression dev, size, data, handle, flags;
    @@

    -dma_zalloc_coherent(dev, size, handle, flags)
    +dma_alloc_coherent(dev, size, handle, flags)

    Suggested-by: Christoph Hellwig
    Signed-off-by: Luis Chamberlain
    [hch: re-ran the script on the latest tree]
    Signed-off-by: Christoph Hellwig

    Luis Chamberlain
     

23 Aug, 2017

1 commit

  • Commit c678fa66341c: ("dmaengine: remove DMA_SG as it is dead code in
    kernel") removes DMA_SG from dmaengine subsystem but missed removing unused
    xgene_dma_invalidate_buffer function, so remove it

    drivers/dma/xgene-dma.c:394:13: warning: ‘xgene_dma_invalidate_buffer’ defined but not used [-Wunused-function]
    static void xgene_dma_invalidate_buffer(__le64 *ext8)

    Signed-off-by: Vinod Koul

    Vinod Koul
     

22 Aug, 2017

1 commit


08 Aug, 2016

2 commits

  • Completion callback should happen after dma_descriptor_unmap() has
    happened. This allow the cache invalidate to happen and ensure that
    the data accessed by the upper layer is in memory that was from DMA
    rather than stale data. On some architecture this is done by the
    hardware, however we should make the code consistent to not cause
    confusion.

    Signed-off-by: Dave Jiang
    Cc: Rameshwar Prasad Sahu
    Signed-off-by: Vinod Koul

    Dave Jiang
     
  • 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
    Signed-off-by: Vinod Koul

    Dave Jiang
     

07 Jan, 2016

1 commit


11 Nov, 2015

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This time we have a very typical update which is mostly fixes and
    updates to drivers and no new drivers.

    - the biggest change is coming from Peter for edma cleanup which even
    caused some last minute regression, things seem settled now
    - idma64 and dw updates
    - iotdma updates
    - module autoload fixes for various drivers
    - scatter gather support for hdmac"

    * tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (77 commits)
    dmaengine: edma: Add dummy driver skeleton for edma3-tptc
    Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3"
    Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3"
    dmaengine: dw: some Intel devices has no memcpy support
    dmaengine: dw: platform: provide platform data for Intel
    dmaengine: dw: don't override platform data with autocfg
    dmaengine: hdmac: Add scatter-gathered memset support
    dmaengine: hdmac: factorise memset descriptor allocation
    dmaengine: virt-dma: Fix kernel-doc annotations
    ARM: DTS: am437x: Use the new DT bindings for the eDMA3
    ARM: DTS: am33xx: Use the new DT bindings for the eDMA3
    dmaengine: edma: New device tree binding
    dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP
    dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx
    dmaengine: edma: Merge the of parsing functions
    dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot
    dmaengine: edma: Refactor the dma device and channel struct initialization
    dmaengine: edma: Get qDMA channel information from HW also
    dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq
    dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_)
    ...

    Linus Torvalds
     

14 Oct, 2015

1 commit


30 Sep, 2015

1 commit


25 Sep, 2015

1 commit


21 Sep, 2015

1 commit


05 Sep, 2015

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This time we have aded a new capability for scatter-gathered memset
    using dmaengine APIs. This is supported in xdmac & hdmac drivers

    We have added support for reusing descriptors for examples like video
    buffers etc. Driver will follow

    The behaviour of descriptor ack has been clarified and documented

    New devices added are:
    - dma controller in sun[457]i SoCs
    - lpc18xx dmamux
    - ZTE ZX296702 dma controller
    - Analog Devices AXI-DMAC DMA controller
    - eDMA support for dma-crossbar
    - imx6sx support in imx-sdma driver
    - imx-sdma device to device support

    Other:
    - jz4780 fixes
    - ioatdma large refactor and cleanup for removal of ioat v1 and v2
    which is deprecated and fixes
    - ACPI support in X-Gene DMA engine driver
    - ipu irq fixes
    - mvxor fixes
    - minor fixes spread thru drivers"

    [ The Kconfig and Makefile entries got re-sorted alphabetically, and I
    handled the conflict with the new Intel integrated IDMA driver by
    slightly mis-sorting it on purpose: "IDMA64" got sorted after "IMX" in
    order to keep the Intel entries together. I think it might be a good
    idea to just rename the IDMA64 config entry to INTEL_IDMA64 to make
    the sorting be a true sort, not this mismash.

    Also, this merge disables the COMPILE_TEST for the sun4i DMA
    controller, because it does not compile cleanly at all. - Linus ]

    * tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits)
    dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs
    dmaengine :ipu: change ipu_irq_handler() to remove compile warning
    dmaengine: ioatdma: Fix variable array length
    dmaengine: ioatdma: fix sparse "error" with prep lock
    dmaengine: hdmac: Add memset capabilities
    dmaengine: sort the sh Makefile
    dmaengine: sort the sh Kconfig
    dmaengine: sort the dw Kconfig
    dmaengine: sort the Kconfig
    dmaengine: sort the makefile
    drivers/dma: make mv_xor.c driver explicitly non-modular
    dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller
    devicetree: Add bindings documentation for Analog Devices AXI-DMAC
    dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests
    dmaengine: ioatdma: fix coccinelle warning
    dmaengine: ioatdma: fix zero day warning on incompatible pointer type
    dmaengine: tegra-apb: Simplify locking for device using global pause
    dmaengine: tegra-apb: Remove unnecessary return statements and variables
    dmaengine: tegra-apb: Avoid unnecessary channel base address calculation
    dmaengine: tegra-apb: Remove unused variables
    ...

    Linus Torvalds
     

21 Aug, 2015

1 commit


20 Aug, 2015

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
     

31 Jul, 2015

1 commit


25 Jun, 2015

1 commit


02 Jun, 2015

1 commit


18 Apr, 2015

3 commits


02 Apr, 2015

2 commits