• Sinan Kaya's avatar
    dmaengine: qcom_hidma: correct API violation for submit · 99efdb3e
    Sinan Kaya authored
    Current code is violating the DMA Engine API by putting the submitted
    requests directly into the HW queue. This causes queued transactions
    to be started by another thread as soon as the first one finishes.
    
    The DMA Engine document clearly states this.
    
    "dmaengine_submit() will not start the DMA operation".
    
    Move HW queuing of the requests into the issue_pending() routine
    to comply with API requirements also create a new queued state for
    temporarily holding the requests.
    
    A descriptor goes through these transitions now.
    
    free->prepared->queued->active->completed->free
    
    as opposed to
    
    free->prepared->active->completed->free
    Signed-off-by: default avatarSinan Kaya <okaya@codeaurora.org>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    99efdb3e
hidma.h 5.56 KB