]> git.baikalelectronics.ru Git - kernel.git/commit
drm/exynos: clear windows in mixer dpms off
authorPrathyush K <prathyush.k@samsung.com>
Thu, 6 Dec 2012 14:46:05 +0000 (20:16 +0530)
committerInki Dae <daeinki@gmail.com>
Thu, 13 Dec 2012 14:05:44 +0000 (06:05 -0800)
commit10fdc351593cc4318dc51ab994950446d131486e
tree441bd93a69938d2ef1aa6474d4e019be330f298c
parente7be5a24329438c15f9052918cf5c8f2a793478a
drm/exynos: clear windows in mixer dpms off

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: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_mixer.c