• Peter Ujfalusi's avatar
    dmaengine: omap-dma: Support for LinkedList transfer of slave_sg · 1c2e8e6b
    Peter Ujfalusi authored
    sDMA in OMAP3630 or newer SoC have support for LinkedList transfer. When
    LinkedList or Descriptor load feature is present we can create the
    descriptors for each and program sDMA to walk through the list of
    descriptors instead of the current way of sDMA stop, sDMA reconfiguration
    and sDMA start after each SG transfer.
    By using LinkedList transfer in sDMA the number of DMA interrupts will
    decrease dramatically.
    Booting up the board with filesystem on SD card for example:
    W/o LinkedList support:
     27:       4436          0     WUGEN  13 Level     omap-dma-engine
    
    Same board/filesystem with this patch:
     27:       1027          0     WUGEN  13 Level     omap-dma-engine
    
    Or copying files from SD card to eMCC:
    2.1G    /usr/
    232001
    
    W/o LinkedList we see ~761069 DMA interrupts.
    With LinkedList support it is down to ~269314 DMA interrupts.
    
    With the decreased DMA interrupt number the CPU load is dropping
    significantly as well.
    Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    1c2e8e6b
omap-dma.c 36.6 KB