• Daniel Mack's avatar
    dma: mmp_pdma: add support for residue reporting · 1b38da26
    Daniel Mack authored
    A channel can accommodate more than one transaction, each consisting of
    multiple descriptors, the last of which has the DCMD_ENDIRQEN bit set.
    
    In order to report the channel's residue, we hence have to walk the
    list of running descriptors, look for those which match the cookie,
    and then try to find the descriptor which defines upper and lower
    boundaries that embrace the current transport pointer. Once it is found,
    walk forward until we find the descriptor that tells us about the end of
    a transaction via a set DCMD_ENDIRQEN bit.
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    1b38da26
mmp_pdma.c 28.4 KB