• Serge Semin's avatar
    dmaengine: dw: Ignore burst setting for memory peripherals · 8d2f59da
    Serge Semin authored
    According to the DW DMA controller Databook 2.18b (page 40 "3.5 Memory
    Peripherals") memory peripherals don't have handshaking interface
    connected to the controller, therefore they can never be a flow
    controller. Since the CTLx.SRC_MSIZE and CTLx.DEST_MSIZE are properties
    valid only for peripherals with a handshaking interface, we can freely
    zero these fields out if the memory peripheral is selected to be the
    source or the destination of the DMA transfers.
    
    Note according to the databook, length of burst transfers to memory is
    always equal to the number of data items available in a channel FIFO or
    data items required to complete the block transfer, whichever is smaller;
    length of burst transfers from memory is always equal to the space
    available in a channel FIFO or number of data items required to complete
    the block transfer, whichever is smaller.
    Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
    Link: https://lore.kernel.org/r/20200731200826.9292-5-Sergey.Semin@baikalelectronics.ruSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
    8d2f59da
idma32.c 3.92 KB