• Ed Blake's avatar
    dmaengine: img-mdc: Add suspend / resume handling · fd9f22ae
    Ed Blake authored
    Add suspend / resume handling using suspend_late and resume_early, and
    check that all channels are idle before suspending.
    
    DMA drivers should use suspend_late / resume_early to ensure that all
    DMA client devices are suspended before the DMA device itself, and that
    client devices are resumed after the DMA device. This avoids suspending
    the DMA device while transactions are still active.
    
    It is the responsibility of client drivers to terminate all DMA
    transactions in their suspend handlers, so there should be no active
    transactions by the time suspend_late is called.
    
    There's no need to save and restore registers for MDC during suspend /
    resume, as all transactions will be terminated as a result of the
    suspend, and all required registers are programmed anyway at the start
    of any new transactions following resume.
    Signed-off-by: default avatarEd Blake <ed.blake@sondrel.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    fd9f22ae
img-mdc-dma.c 27 KB