25 Mar, 2016

1 commit

  • Pull asm-generic updates from Arnd Bergmann:
    "There are only three patches this time, most other changes to files in
    include/asm-generic tend to go through the tree of whoever depends on
    the change.

    Two patches are cleanups for stuff that is no longer needed, the main
    change is to adapt the generic version of BUG_ON() for CONFIG_BUG=n to
    make it behave consistently with BUG().

    This avoids undefined behavior along with a number of warnings about
    that undefined behavior in randconfig builds when we keep going on
    after hitting a BUG_ON()"

    * tag 'asm-generic-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: remove old nonatomic-io wrapper files
    asm-generic: default BUG_ON(x) to if(x)BUG()
    asm-generic: page.h: Remove useless get_user_page and free_user_page

    Linus Torvalds
     

21 Mar, 2016

1 commit

  • Pull ARM SoC platform updates from Arnd Bergmann:
    "Newly added support for additional SoCs:
    - Axis Artpec-6 SoC family
    - Allwinner A83T SoC
    - Mediatek MT7623
    - NXP i.MX6QP SoC
    - ST Microelectronics stm32f469 microcontroller

    New features:
    - SMP support for Mediatek mt2701
    - Big-endian support for NXP i.MX
    - DaVinci now uses the new DMA engine dma_slave_map
    - OMAP now uses the new DMA engine dma_slave_map
    - earlyprintk support for palmchip uart on mach-tango
    - delay timer support for orion

    Other:
    - Exynos PMU driver moved out to drivers/soc/
    - Various smaller updates for Renesas, Xilinx, PXA, AT91, OMAP,
    uniphier"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: uniphier: rework SMP code to support new System Bus binding
    ARM: uniphier: add missing of_node_put()
    ARM: at91: avoid defining CONFIG_* symbols in source code
    ARM: DRA7: hwmod: Add data for eDMA tpcc, tptc0, tptc1
    ARM: imx: Make reset_control_ops const
    ARM: imx: Do L2 errata only if the L2 cache isn't enabled
    ARM: imx: select ARM_CPU_SUSPEND only for imx6
    dmaengine: pxa_dma: fix the maximum requestor line
    ARM: alpine: select the Alpine MSI controller driver
    ARM: pxa: add the number of DMA requestor lines
    dmaengine: mmp-pdma: add number of requestors
    dma: mmp_pdma: Add the #dma-requests DT property documentation
    ARM: OMAP2+: Add rtc hwmod configuration for ti81xx
    ARM: s3c24xx: Avoid warning for inb/outb
    ARM: zynq: Move early printk virtual address to vmalloc area
    ARM: DRA7: hwmod: Add custom reset handler for PCIeSS
    ARM: SAMSUNG: Remove unused register offset definition
    ARM: EXYNOS: Cleanup header files inclusion
    drivers: soc: samsung: Enable COMPILE_TEST
    MAINTAINERS: Add maintainers entry for drivers/soc/samsung
    ...

    Linus Torvalds
     

18 Mar, 2016

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This is smallish update with minor changes to core and new driver and
    usual updates. Nothing super exciting here..

    - We have made slave address as physical to enable driver to do the
    mapping.

    - We now expose the maxburst for slave dma as new capability so
    clients can know this and program accordingly

    - addition of device synchronize callbacks on omap and edma.

    - pl330 updates to support DMAFLUSHP for Rockchip platforms.

    - Updates and improved sg handling in Xilinx VDMA driver.

    - New hidma qualcomm dma driver, though some bits are still in
    progress"

    * tag 'dmaengine-4.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (40 commits)
    dmaengine: IOATDMA: revise channel reset workaround on CB3.3 platforms
    dmaengine: add Qualcomm Technologies HIDMA channel driver
    dmaengine: add Qualcomm Technologies HIDMA management driver
    dmaengine: hidma: Add Device Tree binding
    dmaengine: qcom_bam_dma: move to qcom directory
    dmaengine: tegra: Move of_device_id table near to its user
    dmaengine: xilinx_vdma: Remove unnecessary variable initializations
    dmaengine: sirf: use __maybe_unused to hide pm functions
    dmaengine: rcar-dmac: clear pertinence number of channels
    dmaengine: sh: shdmac: don't open code of_device_get_match_data()
    dmaengine: tegra: don't open code of_device_get_match_data()
    dmaengine: qcom_bam_dma: Make driver work for BE
    dmaengine: sun4i: support module autoloading
    dma/mic_x100_dma: IS_ERR() vs PTR_ERR() typo
    dmaengine: xilinx_vdma: Use readl_poll_timeout instead of do while loop's
    dmaengine: xilinx_vdma: Simplify spin lock handling
    dmaengine: xilinx_vdma: Fix issues with non-parking mode
    dmaengine: xilinx_vdma: Improve SG engine handling
    dmaengine: pl330: fix to support the burst mode
    dmaengine: make slave address physical
    ...

    Linus Torvalds
     

15 Mar, 2016

1 commit

  • Pull dma_*_writecombine rename from Ingo Molnar:
    "Rename dma_*_writecombine() to dma_*_wc()

    This is a tree-wide API rename, to move the dma_*() write-combining
    APIs closer in name to their usual API families. (The old API names
    are kept as compatibility wrappers to not introduce extra breakage.)

    The patch was Coccinelle generated"

    * 'mm-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc()

    Linus Torvalds
     

14 Mar, 2016

8 commits


11 Mar, 2016

4 commits

  • Previously we unloaded the interrupts and reloaded in order to work around
    a channel reset bug that cleared the MSIX table. This approach just isn't
    practical when a reset needs to happen in the error handler that just
    happens to be running in interrupt context (bottom half). It looks like we
    can work around the hardware issue by just storing a shadow copy of the
    MSIX table and restore it after reset.

    Signed-off-by: Dave Jiang
    Signed-off-by: Vinod Koul

    Dave Jiang
     
  • This patch adds support for hidma engine. The driver consists of two
    logical blocks. The DMA engine interface and the low-level interface.
    The hardware only supports memcpy/memset and this driver only support
    memcpy interface. HW and driver doesn't support slave interface.

    Signed-off-by: Sinan Kaya
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Vinod Koul

    Sinan Kaya
     
  • The Qualcomm Technologies HIDMA device has been designed to support
    virtualization technology. The driver has been divided into two to follow
    the hardware design.

    1. HIDMA Management driver
    2. HIDMA Channel driver

    Each HIDMA HW consists of multiple channels. These channels share some set
    of common parameters. These parameters are initialized by the management
    driver during power up. Same management driver is used for monitoring the
    execution of the channels. Management driver can change the performance
    behavior dynamically such as bandwidth allocation and prioritization.

    The management driver is executed in host context and is the main
    management entity for all channels provided by the device.

    Signed-off-by: Sinan Kaya
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Vinod Koul

    Sinan Kaya
     
  • Creating a QCOM directory for all QCOM DMA source files.

    Signed-off-by: Sinan Kaya
    Reviewed-by: Andy Gross
    Signed-off-by: Vinod Koul

    Sinan Kaya
     

10 Mar, 2016

1 commit

  • When computing the residue we need two pieces of information: the current
    descriptor and the remaining data of the current descriptor. To get
    that information, we need to read consecutively two registers but we
    can't do it in an atomic way. For that reason, we have to check manually
    that current descriptor has not changed.

    Signed-off-by: Ludovic Desroches
    Suggested-by: Cyrille Pitchen
    Reported-by: David Engraf
    Tested-by: David Engraf
    Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
    eXtended DMA Controller driver")
    Cc: stable@vger.kernel.org #4.1 and later
    Signed-off-by: Vinod Koul

    Ludovic Desroches
     

09 Mar, 2016

2 commits

  • Rename dma_*_writecombine() to dma_*_wc(), so that the naming
    is coherent across the various write-combining APIs. Keep the
    old names for compatibility for a while, these can be removed
    at a later time. A guard is left to enable backporting of the
    rename, and later remove of the old mapping defines seemlessly.

    Build tested successfully with allmodconfig.

    The following Coccinelle SmPL patch was used for this simple
    transformation:

    @ rename_dma_alloc_writecombine @
    expression dev, size, dma_addr, gfp;
    @@

    -dma_alloc_writecombine(dev, size, dma_addr, gfp)
    +dma_alloc_wc(dev, size, dma_addr, gfp)

    @ rename_dma_free_writecombine @
    expression dev, size, cpu_addr, dma_addr;
    @@

    -dma_free_writecombine(dev, size, cpu_addr, dma_addr)
    +dma_free_wc(dev, size, cpu_addr, dma_addr)

    @ rename_dma_mmap_writecombine @
    expression dev, vma, cpu_addr, dma_addr, size;
    @@

    -dma_mmap_writecombine(dev, vma, cpu_addr, dma_addr, size)
    +dma_mmap_wc(dev, vma, cpu_addr, dma_addr, size)

    We also keep the old names as compatibility helpers, and
    guard against their definition to make backporting easier.

    Generated-by: Coccinelle SmPL
    Suggested-by: Ingo Molnar
    Signed-off-by: Luis R. Rodriguez
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: airlied@linux.ie
    Cc: akpm@linux-foundation.org
    Cc: benh@kernel.crashing.org
    Cc: bhelgaas@google.com
    Cc: bp@suse.de
    Cc: dan.j.williams@intel.com
    Cc: daniel.vetter@ffwll.ch
    Cc: dhowells@redhat.com
    Cc: julia.lawall@lip6.fr
    Cc: konrad.wilk@oracle.com
    Cc: linux-fbdev@vger.kernel.org
    Cc: linux-pci@vger.kernel.org
    Cc: luto@amacapital.net
    Cc: mst@redhat.com
    Cc: tomi.valkeinen@ti.com
    Cc: toshi.kani@hp.com
    Cc: vinod.koul@intel.com
    Cc: xen-devel@lists.xensource.com
    Link: http://lkml.kernel.org/r/1453516462-4844-1-git-send-email-mcgrof@do-not-panic.com
    Signed-off-by: Ingo Molnar

    Luis R. Rodriguez
     
  • adding unmap of sources and destinations while doing dequeue.

    Signed-off-by: Xuelin Shi
    Signed-off-by: Vinod Koul

    Xuelin Shi
     

04 Mar, 2016

5 commits


03 Mar, 2016

9 commits


02 Mar, 2016

1 commit


01 Mar, 2016

1 commit

  • This patch fixes the burst mode that will break DMA uart on SoCFPGA.

    In some cases, some SoCS didn't support the multi-burst
    even if the devices who use the pl330 claim support the maxburst.

    Fixes: commit 848e977
    "dmaengine: pl330: support burst mode for dev-to-mem and mem-to-dev transmit"

    Reported-by: Dinh Nguyen
    Signed-off-by: Caesar Wang
    Tested-by: Bartlomiej Zolnierkiewicz
    Tested-by: Dinh Nguyen
    Signed-off-by: Vinod Koul

    Caesar Wang
     

27 Feb, 2016

1 commit

  • The current number of requestor lines is limited to 31. This was an
    error of a previous commit, as this number is platform dependent, and is
    actually :
    - for pxa25x: 40 requestor lines
    - for pxa27x: 75 requestor lines
    - for pxa3xx: 100 requestor lines

    The previous testing did not reveal the faulty constant as on pxa[23]xx
    platforms, only camera, MSL and USB are above requestor 32, and in these
    only the camera has a driver using dma.

    Fixes: e87ffbdf0697 ("dmaengine: pxa_dma: fix the no-requestor case")
    Signed-off-by: Robert Jarzmik
    Acked-by: Vinod Koul

    Robert Jarzmik
     

22 Feb, 2016

4 commits