mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-25 19:07:46 +00:00
0cbc330e12
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> |
||
---|---|---|
.. | ||
exynos_ddc.c | ||
exynos_drm_buf.c | ||
exynos_drm_buf.h | ||
exynos_drm_connector.c | ||
exynos_drm_connector.h | ||
exynos_drm_core.c | ||
exynos_drm_crtc.c | ||
exynos_drm_crtc.h | ||
exynos_drm_dmabuf.c | ||
exynos_drm_dmabuf.h | ||
exynos_drm_drv.c | ||
exynos_drm_drv.h | ||
exynos_drm_encoder.c | ||
exynos_drm_encoder.h | ||
exynos_drm_fb.c | ||
exynos_drm_fb.h | ||
exynos_drm_fbdev.c | ||
exynos_drm_fbdev.h | ||
exynos_drm_fimc.c | ||
exynos_drm_fimc.h | ||
exynos_drm_fimd.c | ||
exynos_drm_g2d.c | ||
exynos_drm_g2d.h | ||
exynos_drm_gem.c | ||
exynos_drm_gem.h | ||
exynos_drm_gsc.c | ||
exynos_drm_gsc.h | ||
exynos_drm_hdmi.c | ||
exynos_drm_hdmi.h | ||
exynos_drm_iommu.c | ||
exynos_drm_iommu.h | ||
exynos_drm_ipp.c | ||
exynos_drm_ipp.h | ||
exynos_drm_plane.c | ||
exynos_drm_plane.h | ||
exynos_drm_rotator.c | ||
exynos_drm_rotator.h | ||
exynos_drm_vidi.c | ||
exynos_drm_vidi.h | ||
exynos_hdmi.c | ||
exynos_hdmi.h | ||
exynos_hdmiphy.c | ||
exynos_mixer.c | ||
Kconfig | ||
Makefile | ||
regs-fimc.h | ||
regs-gsc.h | ||
regs-hdmi.h | ||
regs-mixer.h | ||
regs-rotator.h | ||
regs-vp.h |