11 Sep, 2014

1 commit


11 Aug, 2014

1 commit

  • Pull slave-dma updates from Vinod Koul:
    "Some notable changes are:
    - new driver for AMBA AXI NBPF by Guennadi
    - new driver for sun6i controller by Maxime
    - pl330 drivers fixes from Lar's
    - sh-dma updates and fixes from Laurent, Geert and Kuninori
    - Documentation updates from Geert
    - drivers fixes and updates spread over dw, edma, freescale, mpc512x
    etc.."

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (72 commits)
    dmaengine: sun6i: depends on RESET_CONTROLLER
    dma: at_hdmac: fix invalid remaining bytes detection
    dmaengine: nbpfaxi: don't build this driver where it cannot be used
    dmaengine: nbpf_error_get_channel() can be static
    dma: pl08x: Use correct specifier for size_t values
    dmaengine: Remove the context argument to the prep_dma_cyclic operation
    dmaengine: nbpfaxi: convert to tasklet
    dmaengine: nbpfaxi: fix a theoretical race
    dmaengine: add a driver for AMBA AXI NBPF DMAC IP cores
    dmaengine: add device tree binding documentation for the nbpfaxi driver
    dmaengine: edma: Do not register second device when booted with DT
    dmaengine: edma: Do not change the error code returned from edma_alloc_slot
    dmaengine: rcar-dmac: Add device tree bindings documentation
    dmaengine: shdma: Allocate cyclic sg list dynamically
    dmaengine: shdma: Make channel filter ignore unrelated devices
    dmaengine: sh: Rework Kconfig and Makefile
    dmaengine: sun6i: Fix memory leaks
    dmaengine: sun6i: Free the interrupt before killing the tasklet
    dmaengine: sun6i: Remove switch statement from buswidth convertion routine
    dmaengine: of: kconfig: select DMA_ENGINE when DMA_OF is selected
    ...

    Linus Torvalds
     

09 Aug, 2014

1 commit

  • Fixes a compilation error when RESET_CONTROLLER is not enabled in the
    configuration.

    drivers/dma/sun6i-dma.c: In function 'sun6i_dma_probe':
    drivers/dma/sun6i-dma.c:911:2: error: implicit declaration of function 'devm_reset_control_get' [-Werror=implicit-function-declaration]

    Signed-off-by: Maxime Ripard
    Reported-by: Randy Dunlap
    Signed-off-by: Vinod Koul

    Maxime Ripard
     

08 Aug, 2014

1 commit


07 Aug, 2014

2 commits

  • Although this driver doesn't have any explicit compile-time architecture
    dependencies, it is better not to bloat kernels on those platforms, where
    this driver isn't needed, unless a compile test is being performed.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     
  • Pull sound updates from Takashi Iwai:
    "There've been many updates in ASoC side at this time, especially the
    framework enhancement for multiple CODECs on a single DAI and more
    componentization works.

    The only major change in ALSA core is the addition of timestamp type
    in sw_params field. This should behave in backward compatible way.

    Other than that, there are lots of small changes and new drivers in
    wide range, including a large code cut in HD-audio driver for
    deprecated static quirks. Some highlights are below:

    ALSA Core:
    - Add the new timestamp type field to sw_params to choose
    MONOTONIC_RAW type

    HD-audio:
    - Continued conversion to standard printk macros, generic code
    cleanups
    - Removal of obsoleted static quirk codes for Conexant and C-Media
    codecs
    - Fixups for HP Envy TS, Dell XPS 15, HP and Dell mute/mic LED,
    Gigabyte BXBT-2807 mobo
    - Intel Braswell support

    ASoC:
    - Support for multiple CODECs attached to a single DAI, enabling
    systems with for example multiple DAC/speaker drivers on a single
    link, contributed by Benoit Cousson based on work from Misael Lopez
    Cruz
    - Support for byte controls larger than 256 bytes based on the use of
    TLVs contributed by Omair Mohammed Abdullah
    - More componentisation work from Lars-Peter Clausen
    - The remainder of the conversions of CODEC drivers to params_width()
    by Mark Brown
    - Drivers for Cirrus Logic CS4265, Freescale i.MX ASRC blocks,
    Realtek RT286 and RT5670, Rockchip RK3xxx I2S controllers and Texas
    Instruments TAS2552
    - Lots of updates and fixes, especially to the DaVinci, Intel,
    Freescale, Realtek, and rcar drivers"

    * tag 'sound-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (402 commits)
    ALSA: usb-audio: Whitespace cleanups for sound/usb/midi.*
    ALSA: usb-audio: Respond to suspend and resume callbacks for MIDI input
    sound/oss/pss: Remove typedefs pss_mixerdata and pss_confdata
    sound/oss/opl3: Remove typedef opl_devinfo
    ALSA: fireworks: fix specifiers in format strings for propper output
    ASoC: imx-audmux: Use uintptr_t for port numbers
    ASoC: davinci: Enable menuconfig entry for McASP
    ASoC: fsl_asrc: Don't access members of config before checking it
    ASoC: fsl_sarc_dma: Check pair before using it
    ASoC: adau1977: Fix truncation warning on 64 bit architectures
    ALSA: virtuoso: add Xonar Essence STX II support
    ALSA: riptide: fix %d confusingly prefixed with 0x in format strings
    ALSA: fireworks: fix %d confusingly prefixed with 0x in format strings
    ALSA: hda - add codec ID for Braswell display audio codec
    ALSA: hda - add PCI IDs for Intel Braswell
    ALSA: usb-audio: Adjust Gamecom 780 volume level
    ALSA: usb-audio: improve dmesg source grepability
    ASoC: rt5670: Fix duplicate const warnings
    ASoC: rt5670: Staticise non-exported symbols
    ASoC: Intel: update stream only on stream IPC msgs
    ...

    Linus Torvalds
     

06 Aug, 2014

1 commit


04 Aug, 2014

6 commits


31 Jul, 2014

5 commits

  • DT boot does not yet support more than one edma device. To avoid issues at
    runtime we should not register the second device when the kernel is booted
    with DT.

    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Vinod Koul

    Peter Ujfalusi
     
  • In case of edma_alloc_slot() failure during probe we should return the error
    unchanged to make debugging easier.

    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Vinod Koul

    Peter Ujfalusi
     
  • The sg list used to prepare cyclic DMA descriptors is currently
    allocated statically on the stack as an array of 32 elements. This makes
    the shdma_prep_dma_cyclic() function consume a lot of stack space, as
    reported by the compiler:

    drivers/dma/sh/shdma-base.c: In function ‘shdma_prep_dma_cyclic’:
    drivers/dma/sh/shdma-base.c:715:1: warning: the frame size of 1056 bytes
    is larger than 1024 bytes [-Wframe-larger-than=]

    Given the limited Linux kernel stack size, this could lead to stack
    overflows. Fix the problem by allocating the sg list dynamically.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Simon Horman
    Signed-off-by: Vinod Koul

    Laurent Pinchart
     
  • The shdma_chan_filter() function relies on the DMA channel being
    embedded in an shdma_chan structure. If this assumption isn't true, for
    instance when the system contains DMA channels supported by an unrelated
    driver, the function will crash.

    Avoid this by returning false directly when the channel belongs to an
    unrelated device.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Simon Horman
    Signed-off-by: Vinod Koul

    Laurent Pinchart
     
  • Separate helpers and drivers in the Kconfig and Makefile to improve
    readability and move the CONFIG_OF dependency from the Makefile to
    Kconfig.

    [pebolle@tiscali.nl: reported need to rename SHDMA_R8A73A4 instances]
    Reported-by: Paul Bolle
    Signed-off-by: Laurent Pinchart
    [horms+renesas@verge.net.au: squashed rename of SHDMA_R8A73A4 instances]
    Signed-off-by: Simon Horman
    Signed-off-by: Vinod Koul

    Laurent Pinchart
     

30 Jul, 2014

4 commits

  • The sun6i_dma_prep_memcpy and sun6i_dma_prep_slave_sg functions were both
    leaking the descriptor they allocated if an error was happening after a
    successful dma_pool_alloc call.

    It also fixes a memleak that was happening in the scatter gather list
    traversal, that was allocating as much descriptor as there was scatter gather
    items, but only freeing the current descriptor if an error was to arise.

    Reported-by: Dan Carpenter
    Signed-off-by: Maxime Ripard
    Signed-off-by: Vinod Koul

    Maxime Ripard
     
  • There's still a small window between the call to sun6i_kill_tasklet and the end
    of the driver remove function where a spurious interrupt might trigger, and
    start using deallocated resources.

    Replace the call to synchronize_irq by a free_irq, so that we're sure that we
    won't get any further interrupts when we're deallocating resources.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Vinod Koul

    Maxime Ripard
     
  • Since the conversion routine is quite trivial, we don't need this switch, and
    we can just use a simple calculation.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Vinod Koul

    Maxime Ripard
     
  • Select DMA_ENGINE when DMA_OF is selected since
    of_dma_xlate_by_chan_id() from drivers/dma/of-dma.c uses
    dma_get_slave_channel() from drivers/dma/dmaengine.c

    This resolves error reported:

    drivers/built-in.o: In function `of_dma_xlate_by_chan_id':
    drivers/dma/of-dma.c:253: undefined reference to `dma_get_slave_channel'

    Signed-off-by: Alexander Popov
    Reported-by: kbuild test robot
    Signed-off-by: Vinod Koul

    Alexander Popov
     

28 Jul, 2014

6 commits


26 Jul, 2014

2 commits

  • Register the controller for device tree based lookup of DMA channels
    (non-fatal for backwards compatibility with older device trees) and
    provide the '#dma-cells' property in the shared mpc5121.dtsi file

    Signed-off-by: Alexander Popov
    Signed-off-by: Vinod Koul

    Alexander Popov
     
  • This patch adds a new common OF dma xlate callback function which will match a
    channel by it's id. The binding expects one integer argument which it will use to
    lookup the channel by the id.

    Unlike of_dma_simple_xlate this function is able to handle a system with
    multiple DMA controllers. When registering the of dma provider with
    of_dma_controller_register a pointer to the dma_device struct which is
    associated with the dt node needs to passed as the data parameter.
    New function will use this pointer to match only channels which belong to the
    specified DMA controller.

    Signed-off-by: Alexander Popov
    Signed-off-by: Vinod Koul

    Alexander Popov
     

25 Jul, 2014

6 commits


23 Jul, 2014

1 commit

  • Commit 6079d38 ("dmaengine: pl330: Remove useless xfer_cb indirection")
    removed the __callback() function which created an unnecessary level of
    indirection to execute the tranfer callback .xfer_cb

    Unfortunately the commit also changed the semantics slightly since that
    function used to check if the request was not NULL before attempting to
    execute the callback function. Not checking this could lead to a kernel
    NULL pointer dereference error.

    Signed-off-by: Javier Martinez Canillas
    Acked-by: Lars-Peter Clausen
    Signed-off-by: Vinod Koul

    Javier Martinez Canillas
     

21 Jul, 2014

1 commit


17 Jul, 2014

1 commit


16 Jul, 2014

1 commit