07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

01 Nov, 2011

1 commit


21 Sep, 2011

1 commit


29 Aug, 2011

3 commits

  • The firmware blob may not be available when the driver
    probes. Instead of blocking the whole kernel use
    request_firmware_nowait() and continue without firmware.
    The ROM scripts can already be used then if available.
    For the devicetree case the ROM scripts are not available,
    still the probe function should not block. The driver
    will be unusable in this case, but we have no way of
    detecting this properly. The configuration of the dma
    channels will fail, so nothing bad should happen.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Vinod Koul

    Sascha Hauer
     
  • If we do not have a firmare script for a given transfer,
    the setup of this channel must fail. For this the script
    addresses have to be < 0 initially, not 0.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Vinod Koul

    Sascha Hauer
     
  • channel0 of the sdma engine is the configuration channel. It
    is a shared resource and thus must be protected by a mutex.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Vinod Koul

    Sascha Hauer
     

02 Aug, 2011

1 commit

  • * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (37 commits)
    Improve slave/cyclic DMA engine documentation
    dmaengine: pl08x: handle the rest of enums in pl08x_width
    DMA: PL08x: cleanup selection of burst size
    DMA: PL08x: avoid recalculating cctl at each prepare
    DMA: PL08x: cleanup selection of buswidth
    DMA: PL08x: constify plchan->cd and plat->slave_channels
    DMA: PL08x: separately store source/destination cctl
    DMA: PL08x: separately store source/destination slave address
    DMA: PL08x: clean up LLI debugging
    DMA: PL08x: select LLI bus only once per LLI setup
    DMA: PL08x: remove unused constants
    ARM: mxs-dma: reset after disable channel
    dma: intel_mid_dma: remove redundant pci_set_drvdata calls
    dma: mxs-dma: fix unterminated platform_device_id table
    dmaengine: pl330: make platform data optional
    dmaengine: imx-sdma: return proper error if kzalloc fails
    pch_dma: Fix CTL register access issue
    dmaengine: mxs-dma: skip request_irq for NO_IRQ
    dmaengine/coh901318: fix slave submission semantics
    dmaengine/ste_dma40: allow memory buswidth/burst to be configured
    ...

    Fix trivial whitespace conflict in drivers/dma/mv_xor.c

    Linus Torvalds
     

27 Jul, 2011

3 commits


25 Jul, 2011

1 commit


07 Jul, 2011

1 commit

  • It is not good to have cpu_name and to_version encoded into sdma
    firmware name as variables. For example, there are three TOs of
    imx51 soc, the sdma script never changes since TO1, which means
    all three TOs of imx51 uses TO1 version of sdma script. But we
    have to prepare three identical firmwares, sdma-imx51-to1.bin
    sdma-imx51-to2.bin and sdma-imx51-to3.bin, to have the kernel
    capable of running on all three TOs.

    The patch removes cpu_name and to_version from sdma platform data,
    and instead uses fw_name to pass the firmware name, so that we can
    pass the TO version where it's relevant and skip it where only one
    firmware exists.

    Signed-off-by: Shawn Guo
    Acked-by: Vinod Koul
    Signed-off-by: Sascha Hauer

    Shawn Guo
     

14 Feb, 2011

1 commit


31 Jan, 2011

11 commits


30 Jan, 2011

3 commits


05 Jan, 2011

1 commit


08 Dec, 2010

1 commit


05 Dec, 2010

1 commit

  • Currently while submitting scatterlists with more than one SG
    entry the DMA buffer address from the first SG entry is inserted
    into all initialized DMA buffer descriptors. This is due to the
    typo in the for_each_sg() loop where the scatterlist pointer is
    used for obtaining the DMA buffer address and _not_ the SG list
    iterator.

    As a result all received data will be written only into the first
    DMA buffer while reading. While writing the data from the first
    DMA buffer is send to the device multiple times. This caused
    the filesystem destruction on the MMC card when using DMA in
    mxcmmc driver.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Sascha Hauer
    Signed-off-by: Dan Williams

    Anatolij Gustschin
     

03 Dec, 2010

1 commit

  • The SDMA firmware consists of a ROM part and a RAM part.
    The ROM part is always present in the SDMA engine and
    is sufficient for many cases.
    This patch allows to pass in platform data containing
    the script addresses in ROM, so loading a firmware is
    optional now.

    Signed-off-by: Sascha Hauer
    Acked-by: Dan Williams

    Sascha Hauer
     

06 Oct, 2010

1 commit

  • This patch adds support for the Freescale i.MX SDMA engine.

    The SDMA engine is a scatter/gather DMA engine which is implemented
    as a seperate coprocessor. SDMA needs its own firmware which is
    requested using the standard request_firmware mechanism. The firmware
    has different entry points for each peripheral type, so drivers
    have to pass the peripheral type to the DMA engine which in turn
    picks the correct firmware entry point from a table contained in
    the firmware image itself.
    The original Freescale code also supports support for transfering
    data to the internal SRAM which needs different entry points to
    the firmware. Support for this is currently not implemented. Also,
    support for the ASRC (asymmetric sample rate converter) is skipped.

    I took a very simple approach to implement dmaengine support. Only
    a single descriptor is statically assigned to a each channel. This
    means that transfers can't be queued up but only a single transfer
    is in progress. This simplifies implementation a lot and is sufficient
    for the usual device/memory transfers.

    Signed-off-by: Sascha Hauer
    Reviewed-by: Linus Walleij
    Signed-off-by: Dan Williams

    Sascha Hauer