• Sebastian Andrzej Siewior's avatar
    dma: cppi41: add a delay while setting the TD bit · 754416e1
    Sebastian Andrzej Siewior authored
    The manual says that we need to (repeatedly) set the TearDown-bit for
    the endpoint in order to get the active transfer descriptor released.
    Doing this "real" quick over and over again seems to work but it also
    seems that the hardware might not have enough time to breathe. So I
    though, hey lets add a udelay() between between the individual sets
    of the bit.
    This change with the g_zero testcase resulted in a warning about missing
    transfer descriptor (we got the tear-down one). It seems that if the
    hardware has some time it manages to release the transfer-descriptor on
    the completion queue after the teaddown descriptor.
    With this change, I observe that the transfer descriptor is released
    after 20-30 retry loops.
    Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    754416e1
cppi41.c 25.2 KB