[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support
Inki Dae
inki.dae at samsung.com
Mon Apr 6 08:44:04 PDT 2015
2015-04-06 19:46 GMT+09:00 Inki Dae <inki.dae at samsung.com>:
> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
>> From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
>>
>> 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list