• Jassi Brar's avatar
    S3C: DMA: Add api driver for PL330 · d800edeb
    Jassi Brar authored
    Latest Samsung SoCs have one or more PL330 as their DMACs. This patch
    implements the S3C DMA API for PL330 core driver.
    
    The design has been kept as generic as possible while keeping effort to
    add support for new SoCs to the minimum possible level.
    
    Some of the salient features of this driver are:-
     o  Automatic scheduling of client requests onto DMAC if more than
        one DMAC can reach the peripheral. Factors, such as current load
        and number of exclusive but inactive peripherals that are
        supported by the DMAC, are used to decide suitability of a DMAC
        for a particular client.
     o  CIRCULAR buffer option is supported.
     o  The driver scales transparently with the number of DMACs and total
        peripherals in the platform, since all peripherals are added to
        the peripheral pool and DMACs to the controller pool.
    
    For most conservative use of memory, smallest driver size and best
    performance, we don't employ legacy data structures of the S3C DMA API.
    That should not have any affect since those data structures are completely
    invisible to the DMA clients.
    Signed-off-by: default avatarJassi Brar <jassi.brar@samsung.com>
    Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
    d800edeb
s3c-dma-pl330.h 1.64 KB