• Elen Song's avatar
    DMA: AT91: Get residual bytes in dma buffer · d48de6f1
    Elen Song authored
    Add support for returning the residue for current transfer cookie by
    reading the transfered buffer size(BTSIZE) in CTRLA register.
    
    For a single buffer cookie, the descriptor length minus BTSIZE
    can get the residue.
    
    For a lli cookie, remain_desc will record remain descriptor length
    when last descriptor finish, the remain_desc minus BTSIZE can get the
    current residue.
    
    If the cookie has completed successfully, the residue will be zero.
    If the cookie is in progress, it will be the number of bytes yet to be transferred.
    If get residue error, the cookie will be turn into error status.
    
    Check dma fifo to see if data remain, let issue pending finish remain work if there is.
    Signed-off-by: default avatarElen Song <elen.song@atmel.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    d48de6f1
at_hdmac.c 47 KB