]> 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)
commitd84ed595a106b9a2c78752c3f99b2a39b28f82a5
tree441bd93a69938d2ef1aa6474d4e019be330f298c
parentee83fbb05159c6b08f5f31f21b163575e93af10b
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