• P
    drm/exynos: clear windows in mixer dpms off · db43fd16
    Prathyush K 提交于
    When mixer is turned off, we disable the clocks which will stop
    the dma. Now if we remove the current framebuffer, we cannot
    disable the overlay but the current framebuffer will still be freed.
    When mixer resumes, the dma will continue from where it left off
    and will throw a PAGE FAULT since the memory was freed.
    
    This patch fixes the above problem by disabling the mixer windows
    before disabling the mixer clocks. It also keeps track of which
    windows were currently active by setting the 'resume' flag. When
    mixer resumes, the window with a resume flag set is enabled again.
    
    Now if a current fb is removed when mixer is off, mixer_win_disable
    will set the 'resume' flag of that window to zero and return.
    So when mixer resumes, that window will not be resumed.
    Signed-off-by: NPrathyush K <prathyush.k@samsung.com>
    Signed-off-by: NInki Dae <inki.dae@samsung.com>
    db43fd16
exynos_mixer.c 31.8 KB