16 Nov, 2015

1 commit

  • Implement the new device_synchronize() callback to allow proper
    synchronization when stopping a channel. Since the driver already makes
    sure that no new complete callbacks are scheduled after the
    device_terminate_all() callback has been called, all left to do in the
    device_synchronize() callback is to wait for all currently running complete
    callbacks to finish.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Vinod Koul

    Lars-Peter Clausen
     

23 Aug, 2015

1 commit

  • Add support for the Analog Devices AXI-DMAC DMA controller. This controller
    is a soft peripheral that can be instantiated in a FPGA and is often used
    in Analog Devices' reference designs for FPGA platforms.

    The peripheral has various configuration options that can be selected at
    synthesis time and influence the supported features of the instantiated
    peripheral, those options are represented as device-tree properties to
    allow the driver to behave accordingly.

    The peripheral has a zero latency architecture, which means it is possible
    to switch from one to the next descriptor without any delay. This is
    archived by having a internal queue which can hold multiple descriptors.
    The driver supports this, which means it will submit new descriptors
    directly to the hardware until the queue is full and not wait for a
    descriptor to complete before the next one is submitted. Interrupts are
    used for the descriptor queue flow control.

    Currently the driver supports SG, cyclic and interleaved slave DMA.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Vinod Koul

    Lars-Peter Clausen