linux/drivers/gpu/drm/exynos
Prathyush K db43fd1624 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>
2012-12-13 06:05:44 -08:00
..
exynos_ddc.c Merge branch 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung into drm-next 2012-10-07 21:06:33 +10:00
exynos_drm_buf.c drm/exynos: remove 'pages' and 'page_size' elements in exynos gem buffer 2012-12-05 14:39:20 +09:00
exynos_drm_buf.h drm/exynos: remove 'pages' and 'page_size' elements in exynos gem buffer 2012-12-05 14:39:20 +09:00
exynos_drm_connector.c drm/exynos: fix display on issue 2012-10-31 06:11:29 -07:00
exynos_drm_connector.h drm/exynos: fix display power call issue. 2012-10-04 10:06:01 +09:00
exynos_drm_core.c Merge branch 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung into drm-next 2012-10-07 21:06:33 +10:00
exynos_drm_crtc.c drm/exynos: hold event_lock while accessing pageflip_event_list 2012-11-29 03:30:33 -08:00
exynos_drm_crtc.h drm/exynos: update overlay via plane from crtc 2012-07-27 11:13:53 +09:00
exynos_drm_dmabuf.c drm/exynos: add dmabuf attach/detach callbacks. 2012-12-13 06:05:43 -08:00
exynos_drm_dmabuf.h drm/exynos: added drm prime feature. 2012-05-08 18:46:32 +09:00
exynos_drm_drv.c drm: exynos: moved exynos drm hdmi device registration to drm driver 2012-12-13 06:05:43 -08:00
exynos_drm_drv.h drm/exynos: make wait_for_vblank a manager op 2012-12-13 06:05:43 -08:00
exynos_drm_encoder.c drm/exynos: make wait_for_vblank a manager op 2012-12-13 06:05:43 -08:00
exynos_drm_encoder.h drm/exynos: make sure that overlay data are updated 2012-12-05 14:39:19 +09:00
exynos_drm_fb.c drm/exynos: make sure that overlay data are updated 2012-12-05 14:39:19 +09:00
exynos_drm_fb.h drm/exynos: check NV12M format specific to Exynos properly 2012-10-04 10:06:00 +09:00
exynos_drm_fbdev.c drm/exynos: use sgt instead of pages for framebuffer address 2012-12-05 14:39:21 +09:00
exynos_drm_fbdev.h DRM: add DRM Driver for Samsung SoC EXYNOS4210. 2011-10-05 10:27:31 +01:00
exynos_drm_fimd.c drm/exynos: modify wait_for_vblank of fimd 2012-12-13 06:05:44 -08:00
exynos_drm_g2d.c drm/exynos: Fix potential NULL pointer dereference 2012-12-05 14:39:21 +09:00
exynos_drm_g2d.h drm/exynos: add G2D driver 2012-05-17 20:14:48 +09:00
exynos_drm_gem.c drm/exynos: remove 'pages' and 'page_size' elements in exynos gem buffer 2012-12-05 14:39:20 +09:00
exynos_drm_gem.h drm/exynos: remove 'pages' and 'page_size' elements in exynos gem buffer 2012-12-05 14:39:20 +09:00
exynos_drm_hdmi.c drm/exynos: move hdmi's wait_for_vblank to manager_ops 2012-12-13 06:05:43 -08:00
exynos_drm_hdmi.h drm/exynos: move hdmi's wait_for_vblank to manager_ops 2012-12-13 06:05:43 -08:00
exynos_drm_iommu.c drm/exynos: add iommu support for exynos drm framework 2012-11-29 03:30:35 -08:00
exynos_drm_iommu.h drm/exynos: add iommu support for exynos drm framework 2012-11-29 03:30:35 -08:00
exynos_drm_plane.c drm/exynos: remove unnecessary code. 2012-11-29 03:30:33 -08:00
exynos_drm_plane.h drm/exynos: add plane enable/disable 2012-07-27 11:13:54 +09:00
exynos_drm_vidi.c drm/exynos: fix lockdep for event_lock wrt. vbl_time_lock 2012-11-29 03:30:34 -08:00
exynos_drm_vidi.h drm/exynos: added virtual display driver. 2012-03-21 10:15:49 +00:00
exynos_hdmi.c drm/exynos: sending AVI and AUI info frames 2012-12-05 14:39:23 +09:00
exynos_hdmi.h drm/exynos: cleanup exynos_hdmi.h 2012-03-20 09:41:45 +00:00
exynos_hdmiphy.c Merge branch 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung into drm-next 2012-10-07 21:06:33 +10:00
exynos_mixer.c drm/exynos: clear windows in mixer dpms off 2012-12-13 06:05:44 -08:00
Kconfig drm/exynos: add iommu support for exynos drm framework 2012-11-29 03:30:35 -08:00
Makefile drm/exynos: add iommu support for exynos drm framework 2012-11-29 03:30:35 -08:00
regs-hdmi.h drm/exynos: sending AVI and AUI info frames 2012-12-05 14:39:23 +09:00
regs-mixer.h drm: exynos: hdmi: add support for exynos5 mixer 2012-10-05 19:15:10 +09:00
regs-vp.h drm/exynos: added hdmi display support 2011-12-29 11:21:42 +09:00