diff options
author | Inki Dae <inki.dae@samsung.com> | 2013-10-01 14:51:37 +0900 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2013-12-02 22:49:20 +0900 |
commit | 0cbc330e12835fcbac44e33d5632d805b16635f2 (patch) | |
tree | 58f2478f34d26b0e1af07f8583c6158dc2d1f1f5 /drivers/gpu/drm/i915 | |
parent | b8654b3753f8b79fc57dbd6a8a633d88274836a6 (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/i915')
0 files changed, 0 insertions, 0 deletions