13 Aug, 2012

1 commit


06 Aug, 2012

1 commit


03 Aug, 2012

1 commit

  • Pull SuperH fixes from Paul Mundt.

    * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh: (24 commits)
    sh: explicitly include sh_dma.h in setup-sh7722.c
    sh: ecovec: care CN5 VBUS if USB host mode
    sh: sh7724: fixup renesas_usbhs clock settings
    sh: intc: initial irqdomain support.
    sh: pfc: Fix up init ordering mess.
    serial: sh-sci: fix compilation breakage, when DMA is enabled
    dmaengine: shdma: restore partial transfer calculation
    sh: modify the sh_dmae_slave_config for RSPI in setup-sh7757
    sh: Fix up recursive fault in oops with unset TTB.
    sh: pfc: Build fix for pinctrl_remove_gpio_range() changes.
    sh: select the fixed regulator driver on several boards
    sh: ecovec: switch MMC power control to regulators
    sh: add fixed voltage regulators to se7724
    sh: add fixed voltage regulators to sdk7786
    sh: add fixed voltage regulators to rsk
    sh: add fixed voltage regulators to migor
    sh: add fixed voltage regulators to kfr2r09
    sh: add fixed voltage regulators to ap325rxa
    sh: add fixed voltage regulators to sh7757lcr
    sh: add fixed voltage regulators to sh2007
    ...

    Linus Torvalds
     

02 Aug, 2012

1 commit

  • Pull ARM DMA engine updates from Russell King:
    "This looks scary at first glance, but what it is is:
    - a rework of the sa11x0 DMA engine driver merged during the previous
    cycle, to extract a common set of helper functions for DMA engine
    implementations.
    - conversion of amba-pl08x.c to use these helper functions.
    - addition of OMAP DMA engine driver (using these helper functions),
    and conversion of some of the OMAP DMA users to use DMA engine.

    Nothing in the helper functions is ARM specific, so I hope that other
    implementations can consolidate some of their code by making use of
    these helpers.

    This has been sitting in linux-next most of the merge cycle, and has
    been tested by several OMAP folk. I've tested it on sa11x0 platforms,
    and given it my best shot on my broken platforms which have the
    amba-pl08x controller.

    The last point is the addition to feature-removal-schedule.txt, which
    will have a merge conflict. Between myself and TI, we're planning to
    remove the old TI DMA implementation next year."

    Fix up trivial add/add conflicts in Documentation/feature-removal-schedule.txt
    and drivers/dma/{Kconfig,Makefile}

    * 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm: (53 commits)
    ARM: 7481/1: OMAP2+: omap2plus_defconfig: enable OMAP DMA engine
    ARM: 7464/1: mmc: omap_hsmmc: ensure probe returns error if DMA channel request fails
    Add feature removal of old OMAP private DMA implementation
    mtd: omap2: remove private DMA API implementation
    mtd: omap2: add DMA engine support
    spi: omap2-mcspi: remove private DMA API implementation
    spi: omap2-mcspi: add DMA engine support
    ARM: omap: remove mmc platform data dma_mask and initialization
    mmc: omap: remove private DMA API implementation
    mmc: omap: add DMA engine support
    mmc: omap_hsmmc: remove private DMA API implementation
    mmc: omap_hsmmc: add DMA engine support
    dmaengine: omap: add support for cyclic DMA
    dmaengine: omap: add support for setting fi
    dmaengine: omap: add support for returning residue in tx_state method
    dmaengine: add OMAP DMA engine driver
    dmaengine: sa11x0-dma: add cyclic DMA support
    dmaengine: sa11x0-dma: fix DMA residue support
    dmaengine: PL08x: ensure all descriptors are freed when channel is released
    dmaengine: PL08x: get rid of write only pool_ctr and free_txd locking
    ...

    Linus Torvalds
     

01 Aug, 2012

1 commit


31 Jul, 2012

5 commits


27 Jul, 2012

1 commit

  • With the new i.MX clock infrastructure we need to request the dma clocks
    seperately: ahb and ipg clocks.

    This fixes the following kernel crash and make audio to be functional again:

    root@freescale /home$ aplay audio48k16S.wav
    Playing WAVE 'audio48k16S.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = c7b74000
    [00000000] *pgd=a7bb5831, *pte=00000000, *ppte=00000000
    Internal error: Oops: 17 [#1] PREEMPT ARM
    Modules linked in:
    CPU: 0 Not tainted (3.5.0-rc5-next-20120702-00007-g3028b64 #1128)
    PC is at snd_dmaengine_pcm_get_chan+0x8/0x10
    LR is at snd_imx_pcm_hw_params+0x18/0xdc
    pc : [] lr : [] psr: a0000013
    sp : c7b45e30 ip : ffffffff fp : c7ae58e0
    r10: 00000000 r9 : c7ae981c r8 : c7b88800
    r7 : c7ae5a60 r6 : c7ae5b20 r5 : c7ae9810 r4 : c7afa060
    r3 : 00000000 r2 : 00000001 r1 : c7b88800 r0 : c7afa060
    Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 0005317f Table: a7b74000 DAC: 00000015
    Process aplay (pid: 701, stack limit = 0xc7b44270)
    Stack: (0xc7b45e30 to 0xc7b46000)
    5e20: 00100000 00000029 c7b88800 c02db870
    5e40: c7ae5a60 c02d4594 00000010 01ae5a60 c7ae5a60 c7ae9810 c7ae9810 c7afa060
    5e60: c7ae5b20 c7ae5a60 c7b88800 c02e3ef0 c02e3e08 c7b1e400 c7afa060 c7b88800
    5e80: 00000000 c0014da8 c7b44000 00000000 bec566ac c02cd400 c7afa060 c7afa060
    5ea0: bec56800 c7b88800 c0014da8 c02cdd7c c04ee710 c04ee7b8 00000003 c005fc74
    5ec0: 00000000 7fffffff c7b45f00 c7afa060 c7b67420 c7ba3070 00000004 c0014da8
    5ee0: c7b44000 00000000 bec566ac c02ced88 c04e95f8 b6f5ab04 c7b45fb0 0145a468
    5f00: 0145a600 bec566bc bec56800 c7b67420 c7ba3070 c00d499c c7b45f18 c7b45f18
    5f20: 0000001a 00000004 00000001 c7b44000 c0527f40 00000009 00000008 00000000
    5f40: c7b44000 c002c9ec 00000001 c04f0ab0 c04ebec0 00000101 00000000 0000000a
    5f60: 60000093 c7b67420 bec56800 c25c4111 00000004 c0014da8 c7b44000 00000000
    5f80: bec566ac c00d4f38 b6ffb658 00000000 c0522d80 0145a468 b6fd5000 0145a418
    5fa0: 00000036 c0014c00 0145a468 b6fd5000 00000004 c25c4111 bec56800 00020001
    5fc0: 0145a468 b6fd5000 0145a418 00000036 0145a468 0145a600 bec566bc bec566ac
    5fe0: 0145a468 bec56388 b6f65ce4 b6dcebec 20000010 00000004 00000000 00000000
    [] (snd_dmaengine_pcm_get_chan+0x8/0x10) from [] (snd_imx_pcm_hw_params+0x18/0xdc)
    [] (snd_imx_pcm_hw_params+0x18/0xdc) from [] (soc_pcm_hw_params+0xe8/0x1f0)
    [] (soc_pcm_hw_params+0xe8/0x1f0) from [] (snd_pcm_hw_params+0x124/0x474)
    [] (snd_pcm_hw_params+0x124/0x474) from [] (snd_pcm_common_ioctl1+0x4b4/0xf74)
    [] (snd_pcm_common_ioctl1+0x4b4/0xf74) from [] (snd_pcm_playback_ioctl1+0x30/0x510)
    [] (snd_pcm_playback_ioctl1+0x30/0x510) from [] (do_vfs_ioctl+0x80/0x5e4)
    [] (do_vfs_ioctl+0x80/0x5e4) from [] (sys_ioctl+0x38/0x60)
    [] (sys_ioctl+0x38/0x60) from [] (ret_fast_syscall+0x0/0x2c)
    Code: e593000c e12fff1e e59030a0 e59330bc (e5930000)
    ---[ end trace fa518c8ba3a74e97 ]--

    Reported-by: Javier Martin
    Signed-off-by: Fabio Estevam
    Acked-by: Sascha Hauer
    Signed-off-by: Vinod Koul
    Cc: stable@vger.kernel.org

    Fabio Estevam
     

25 Jul, 2012

1 commit

  • Pull slave-dmaengine update from Vinod Koul:
    "This time we have a new dmaengine driver from the tegra folks. Also
    we have Guennadi's cleanup of sh drivers which incudes a library for
    sh drivers. And the usual odd fixes in bunch of drivers and some nice
    cleanup of dw_dmac from Andy."

    Fix up conflicts in drivers/mmc/host/sh_mmcif.c

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (46 commits)
    dmaengine: Cleanup logging messages
    mmc: sh_mmcif: switch to the new DMA channel allocation and configuration
    dma: sh: provide a migration path for slave drivers to stop using .private
    dma: sh: use an integer slave ID to improve API compatibility
    dmaengine: shdma: prepare to stop using struct dma_chan::private
    sh: remove unused DMA device pointer from SIU platform data
    ASoC: siu: don't use DMA device for channel filtering
    dmaengine: shdma: (cosmetic) simplify a static function
    dmaengine: at_hdmac: add a few const qualifiers
    dw_dmac: use 'u32' for LLI structure members, not dma_addr_t
    dw_dmac: mark dwc_dump_lli inline
    dma: mxs-dma: Export missing symbols from mxs-dma.c
    dma: shdma: convert to the shdma base library
    ASoC: fsi: prepare for conversion to the shdma base library
    usb: renesas_usbhs: prepare for conversion to the shdma base library
    ASoC: siu: prepare for conversion to the shdma base library
    serial: sh-sci: prepare for conversion to the shdma base library
    mmc: sh_mobile_sdhi: prepare for conversion to the shdma base library
    mmc: sh_mmcif: remove unneeded struct sh_mmcif_dma, prepare to shdma conversion
    dma: shdma: prepare for conversion to the shdma base library
    ...

    Linus Torvalds
     

20 Jul, 2012

5 commits

  • Use a more current logging style.

    Add pr_fmt to prefix dmaengine: to messages.
    Convert printk(KERN_ERR to pr_err(.
    Convert embedded function name use to "%s: ", __func__
    Align arguments.

    Original-patch-by: Andy Shevchenko
    Signed-off-by: Joe Perches
    Signed-off-by: Vinod Koul

    Joe Perches
     
  • This patch extends the sh dmaengine driver to support the preferred channel
    selection and configuration method, instead of using the "private" field
    from struct dma_chan. We add a standard filter function to be used by
    slave drivers instead of implementing their own ones, and add support for
    the DMA_SLAVE_CONFIG control operation, which must accompany the new
    channel selection method. We still support the legacy .private channel
    allocation method to cater for a smooth driver migration.

    Signed-off-by: Guennadi Liakhovetski
    [applied a trvial checkpath fix]
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     
  • Initially struct shdma_slave has been introduced with the only member - an
    unsigned slave ID - to describe common properties of DMA slaves in an
    extensible way. However, experience shows, that a slave ID is indeed the
    only parameter, needed to identify DMA slaves. This is also, what is used
    by the core dmaengine API in struct dma_slave_config. We switch to using
    the slave_id directly, instead of passing a pointer to struct shdma_slave
    to improve compatibility with the core. We also make the slave_id signed
    for easier error checking.

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

    Guennadi Liakhovetski
     
  • Using struct dma_chan::private is deprecated. To update the shdma driver to
    stop using it we first have to eliminate internal runtime uses of it. After
    that we will also be able to stop using it for channel configuration.

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

    Guennadi Liakhovetski
     
  • dmae_find_slave() needs only the slave_id field from the slave object, no
    need to pass the pointer to the object, pass the slave_id directly.

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

    Guennadi Liakhovetski
     

16 Jul, 2012

4 commits


13 Jul, 2012

5 commits


03 Jul, 2012

1 commit

  • From Shawn Guo , this makes it possible to use
    sparse irqs with mach-imx.

    * 'imx/sparse-irq' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: imx: enable SPARSE_IRQ for imx platform
    ARM: fiq: change FIQ_START to a variable
    tty: serial: imx: remove the use of MXC_INTERNAL_IRQS
    ARM: imx: remove unneeded mach/irq.h inclusion
    i2c: imx: remove unneeded mach/irqs.h inclusion
    ARM: imx: add a legacy irqdomain for mx31ads
    ARM: imx: add a legacy irqdomain for 3ds_debugboard
    ARM: imx: pass gpio than irq number into mxc_expio_init
    ARM: imx: leave irq_base of wm8350_platform_data uninitialized
    dma: ipu: remove the use of ipu_platform_data
    ARM: imx: move irq_domain_add_legacy call into avic driver
    ARM: imx: move irq_domain_add_legacy call into tzic driver
    gpio/mxc: move irq_domain_add_legacy call into gpio driver
    ARM: imx: eliminate macro IRQ_GPIOx()
    ARM: imx: eliminate macro IOMUX_TO_IRQ()
    ARM: imx: eliminate macro IMX_GPIO_TO_IRQ()

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

01 Jul, 2012

13 commits