2015-04-06 19:46 GMT+09:00 Inki Dae <inki.dae@xxxxxxxxxxx>: > On 2015년 04월 04일 03:09, Gustavo Padovan wrote: >> From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> >> >> Hi, >> >> Here goes the full support for atomic modesetting on exynos. I've >> split the patches in the various phases of atomic support. >> >> These patches sits on top of the clean up patches I've sent yesterday >> to this mailing list[1]. >> >> v2: fixes comments by Joonyoung >> - remove unused var in patch 09 >> - use ->disable instead of outdated ->dpms in hdmi code >> - remove WARN_ON from crtc enable/disable >> >> v3: fixes comment by Joonyoung >> - move the removal of drm_helper_disable_unused_functions() to >> separated patch > > With this patch series, Kernel booting is halted at end of kernel > booting. I tested this patch series on Trats2 board based on Exynos4412 SoC. > > Below is a part of full booting logs, which was halted, > [ 1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered > successfully. > [ 1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops > vidi_component_ops) > [ 1.993036] exynos-drm exynos-drm: bound 11c00000.fimd (ops > fimd_component_ops) > [ 1.993385] exynos-drm exynos-drm: bound 11c80000.dsi (ops > exynos_dsi_component_ops) > [ 1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). > [ 1.993393] [drm] No driver support for vblank timestamp query. > [ 1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0 > [ 2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898 > clk_unprepare+0x24/0x2c() > [ 2.051412] Modules linked in: > [ 2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: G W > 4.0.0-rc6-00526-gc49d7de-dirty #1278 > [ 2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 2.070428] Workqueue: pm pm_runtime_work> > > After that, I tested it again without FIMD and the booting is ok. So I > guess that this atomic feature has a bug to FIMD driver. > More information, The reason the booting is halted is that a deadlock occurs at fbcon module when register_framebuffer() is called. Below are our test results, - with only cleanup series, FIMD and HDMI work well. - with cleanup and atomic series, HDMI works well but FIMD doesn't work - a deadlock occurs. Could anyone test it with the atomic series on trats2 board? You can test it on top of exynos-drm-next-todo branch which contains all relevant patches, https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo Anyway, we will continue to take a look at the this issue why the deadlock occurs. Thanks, Inki Dae > Thanks, > Inki Dae > >> >> Gustavo >> --- >> >> Gustavo Padovan (11): >> drm/exynos: atomic phase 1: use drm_plane_helper_update() >> drm/exynos: atomic phase 1: use drm_plane_helper_disable() >> drm/exynos: atomic phase 1: add .mode_set_nofb() callback >> drm/exynos: atomic phase 2: wire up state reset(), duplicate() and >> destroy() >> drm/exynos: atomic phase 2: keep track of framebuffer pointer >> drm/exynos: atomic phase 3: atomic updates of planes >> drm/exynos: atomic phase 3: use atomic .set_config helper >> drm/exynos: atomic phase 3: convert page flips >> drm/exynos: remove exported functions from exynos_drm_plane >> drm/exynos: don't disable unused functions at init >> drm/exynos: atomic dpms support >> >> drivers/gpu/drm/bridge/ptn3460.c | 4 + >> drivers/gpu/drm/exynos/exynos_dp_core.c | 6 +- >> drivers/gpu/drm/exynos/exynos_drm_connector.c | 6 +- >> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 226 ++++++++------------------ >> drivers/gpu/drm/exynos/exynos_drm_dpi.c | 6 +- >> drivers/gpu/drm/exynos/exynos_drm_drv.c | 2 + >> drivers/gpu/drm/exynos/exynos_drm_drv.h | 4 +- >> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 6 +- >> drivers/gpu/drm/exynos/exynos_drm_encoder.c | 27 +-- >> drivers/gpu/drm/exynos/exynos_drm_fb.c | 12 +- >> drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 3 - >> drivers/gpu/drm/exynos/exynos_drm_plane.c | 113 +++++++------ >> drivers/gpu/drm/exynos/exynos_drm_plane.h | 11 -- >> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 6 +- >> drivers/gpu/drm/exynos/exynos_hdmi.c | 10 +- >> 15 files changed, 187 insertions(+), 255 deletions(-) >> > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel