aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c
diff options
context:
space:
mode:
authorInki Dae <inki.dae@samsung.com>2013-10-01 01:51:37 -0400
committerInki Dae <inki.dae@samsung.com>2013-12-02 08:49:20 -0500
commit0cbc330e12835fcbac44e33d5632d805b16635f2 (patch)
tree58f2478f34d26b0e1af07f8583c6158dc2d1f1f5 /drivers/gpu/drm/exynos/exynos_drm_dmabuf.c
parentb8654b3753f8b79fc57dbd6a8a633d88274836a6 (diff)
drm/exynos: release unhandled page flip events at postclose.
This patch resolves a dead lock issue that could be incurred when exynos_drm_crtc_dpms function was called. The exynos_drm_crtc_dpms function waits for the completion of pended page flip events. However, preclose callback - this releases all unhandled page flip events - is called prior to the exynos_drm_crtc_dpms function call when drm is closed. So at this time, this will make the exynos_drm_crtc_dpms to wait infiniately for the completion of the page flip events. This patch releases the unhandled page flip events at postclose instead of preclose so that exynos_drm_crtc_dpms function can be waked up. Changelog v2: - fix a memory leak when drm is closed. . it has a memory leak when a requeste page flip is handled after drm_events_release() is called and before drm_fb_release() is called. At this time, a drm_pending_event will not be freed. So also this chage releases the drm_pending_event at postclose(). And it calls drm_vblank_put() for pair if there is any unhandled page flip event. Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_dmabuf.c')
0 files changed, 0 insertions, 0 deletions