07 Apr, 2009

2 commits


04 Apr, 2009

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    dma: Add SoF and EoF debugging to ipu_idmac.c, minor cleanup
    dw_dmac: add cyclic API to DW DMA driver
    dmaengine: Add privatecnt to revert DMA_PRIVATE property
    dmatest: add dma interrupts and callbacks
    dmatest: add xor test
    dmaengine: allow dma support for async_tx to be toggled
    async_tx: provide __async_inline for HAS_DMA=n archs
    dmaengine: kill some unused headers
    dmaengine: initialize tx_list in dma_async_tx_descriptor_init
    dma: i.MX31 IPU DMA robustness improvements
    dma: improve section assignment in i.MX31 IPU DMA driver
    dma: ipu_idmac driver cosmetic clean-up
    dmaengine: fail device registration if channel registration fails

    Linus Torvalds
     

03 Apr, 2009

1 commit

  • Add Start-of-Frame and End-of-Frame debugging to ipu_idmac.c, in the
    future it might also be needed for the actual video processing in
    mx3-camera, at which point, the ISRs will have to be transferred to
    mx3_camera.c, for which ipu_irq_map() and ipu_irq_unmap() functions will
    have to be exported.

    Also simplify a couple of pointer-dereferences.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Dan Williams

    Guennadi Liakhovetski
     

02 Apr, 2009

1 commit

  • This patch adds a cyclic DMA interface to the DW DMA driver. This is
    very useful if you want to use the DMA controller in combination with a
    sound device which uses cyclic buffers.

    Using a DMA channel for cyclic DMA will disable the possibility to use
    it as a normal DMA engine until the user calls the cyclic free function
    on the DMA channel. Also a cyclic DMA list can not be prepared if the
    channel is already active.

    Signed-off-by: Hans-Christian Egtvedt
    Acked-by: Haavard Skinnemoen
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Hans-Christian Egtvedt
     

29 Mar, 2009

1 commit


27 Mar, 2009

1 commit

  • Currently dma_request_channel() set DMA_PRIVATE capability but never
    clear it. So if a public channel was once grabbed by
    dma_request_channel(), the device stay PRIVATE forever. Add
    privatecnt member to dma_device to correctly revert it.

    [lg@denx.de: fix bad usage of 'chan' in dma_async_device_register]
    Signed-off-by: Atsushi Nemoto
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Atsushi Nemoto
     

26 Mar, 2009

8 commits


25 Mar, 2009

1 commit


13 Mar, 2009

1 commit


09 Mar, 2009

1 commit

  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    dmatest: fix use after free in dmatest_exit
    ipu_idmac: fix spinlock type
    iop-adma, mv_xor: fix mem leak on self-test setup failure
    fsldma: fix off by one in dma_halt
    I/OAT: fail self-test if callback test reaches timeout
    I/OAT: update driver version and copyright dates
    I/OAT: list usage cleanup
    I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3
    I/OAT: cancel watchdog before dma remove
    I/OAT: fail initialization on zero channels detection
    I/OAT: do not set DCACTRL_CMPL_WRITE_ENABLE for I/OAT ver.3
    I/OAT: add verification for proper APICID_TAG_MAP setting by BIOS
    dmaengine: update kerneldoc

    Linus Torvalds
     

05 Mar, 2009

12 commits


04 Mar, 2009

1 commit

  • `iop_adma_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o
    `mv_xor_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o
    `mv64xxx_i2c_unmap_regs' referenced in section `.devinit.text' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o
    `mv64xxx_i2c_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o
    `orion_nand_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o
    `pxafb_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o

    Acked-by: Uwe Kleine-König
    Signed-off-by: Russell King

    Russell King
     

19 Feb, 2009

1 commit

  • The conversion of atmel-mci to dma_request_channel missed the
    initialization of the channel dma_slave information. The filter_fn passed
    to dma_request_channel is responsible for initializing the channel's
    private data. This implementation has the additional benefit of enabling
    a generic client-channel data passing mechanism.

    Reviewed-by: Atsushi Nemoto
    Signed-off-by: Dan Williams
    Acked-by: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Williams
     

20 Jan, 2009

2 commits

  • i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
    Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
    Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
    (PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
    CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
    and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
    supported over dmaengine and irq-chip APIs respectively.

    IDMAC is a specialised DMA controller, its DMA channels cannot be used for
    general-purpose operations, even though it might be possible to configure
    a memory-to-memory channel for memcpy operation. This driver will not work
    with generic dmaengine clients, clients, wishing to use it must use
    respective wrapper structures, they also must specify which channels they
    require, as channels are hard-wired to specific IPU functions.

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

    Guennadi Liakhovetski
     
  • dma_find_channel and dma_issue_pending_all are good places to warn about
    improper api usage. However, warning correctly means synchronizing with
    dma_list_mutex, i.e. too much overhead for these fast-path calls.

    Reported-by: Ingo Molnar
    Signed-off-by: Dan Williams

    Dan Williams
     

16 Jan, 2009

1 commit

  • The mpc83xx variant uses a shared IRQ for all channels, so the individual
    channel nodes don't have an interrupt property. Fix the code to print the
    controller IRQ instead if there isn't any for the channel.

    Acked-by: Timur Tabi
    Acked-by: Li Yang
    Signed-off-by: Peter Korsgaard
    Signed-off-by: Dan Williams

    Peter Korsgaard
     

15 Jan, 2009

1 commit


14 Jan, 2009

1 commit


13 Jan, 2009

2 commits

  • The dmaengine sysfs implementation was fixed to support proper
    lifetime rules which means that the current:

    new_fsl_chan->dev = &new_fsl_chan->common.dev->device;

    ...retrieves a NULL pointer because new_fsl_chan->common.dev has not
    been allocated at this point. So, set new_fsl_chan->dev to a valid
    device.

    Cc: Li Yang
    Cc: Zhang Wei
    Reported-by: Ira Snyder
    Tested-by: Ira Snyder
    Signed-off-by: Dan Williams

    Dan Williams
     
  • In dmaengine we track the dependencies between the descriptors
    using the 'next' pointers of the structure. These pointers are
    set to NULL as soon as the corresponding descriptor has been
    submitted to the channel (in dma_run_dependencies()).

    But, the first 'next' in chain is still remaining set, regardless
    the fact, that tx->next has been already submitted. This may lead to
    multiple submissions of the same descriptor. This patch fixes this.

    Actually, some previous implementation of the xxx_run_dependencies()
    function already had this fix in place. The fdb..0eaf3 commit, beside the
    correct things, broke this.

    Cc:
    Signed-off-by: Yuri Tikhonov
    Signed-off-by: Dan Williams

    Yuri Tikhonov
     

07 Jan, 2009

1 commit

  • In the multiple device case we need to re-arm the completion and protect
    against concurrent self-tests. The printk from the test callback is
    removed as it can arbitrarily delay completion of the test.

    Cc:
    Cc: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Dan Williams