[PATCH v3 0/7] drm: exynos: dsi: Convert drm bridge

Jagan Teki jagan at amarulasolutions.com
Wed Dec 15 06:28:12 UTC 2021


On Wed, Dec 15, 2021 at 11:39 AM Marek Szyprowski
<m.szyprowski at samsung.com> wrote:
>
> Hi Jagan,
>
> On 14.12.2021 11:47, Jagan Teki wrote:
> > On Mon, Dec 13, 2021 at 7:42 PM Marek Szyprowski
> > <m.szyprowski at samsung.com> wrote:
> >> On 13.12.2021 14:56, Jagan Teki wrote:
> >>> On Mon, Dec 13, 2021 at 6:51 PM Marek Szyprowski
> >>> <m.szyprowski at samsung.com> wrote:
> >>>> On 13.12.2021 13:31, Jagan Teki wrote:
> >>>>> On Mon, Dec 13, 2021 at 5:42 PM Marek Szyprowski
> >>>>> <m.szyprowski at samsung.com> wrote:
> >>>>>> On 13.12.2021 13:08, Jagan Teki wrote:
> >>>>>>> On Mon, Dec 13, 2021 at 5:34 PM Marek Szyprowski
> >>>>>>> <m.szyprowski at samsung.com> wrote:
> >>>>>>>> On 12.12.2021 19:14, Jagan Teki wrote:
> >>>>>>>>> Updated series about drm bridge conversion of exynos dsi.
> >>>>>>>>>
> >>>>>>>>> Patch 1: panel checker
> >>>>>>>>>
> >>>>>>>>> Patch 2: panel_bridge API
> >>>>>>>>>
> >>>>>>>>> Patch 3: Bridge conversion
> >>>>>>>>>
> >>>>>>>>> Patch 4: pree_enable, post_disable
> >>>>>>>>>
> >>>>>>>>> Patch 5: Atomic functions
> >>>>>>>>>
> >>>>>>>>> Patch 6: atomic_set
> >>>>>>>>>
> >>>>>>>>> Patch 7: DSI init in enable
> >>>>>>>>>
> >>>>>>>>> [1] https://patchwork.kernel.org/project/dri-devel/cover/20211210191922.2367979-1-jagan@amarulasolutions.com/
> >>>>>>>>>
> >>>>>>>>> Any inputs?
> >>>>>>>> I've checked this patchset on Exynos based Trats2 board (the one with
> >>>>>>>> simplest display pipeline: Exynos FIMD -> Exynos DSI -> s6e8aa0 DSI
> >>>>>>>> panel). DRM stops working after the 2nd patch ("[PATCH v3 2/7] drm:
> >>>>>>>> exynos: dsi: Use drm panel_bridge API"):
> >>>>>>>>
> >>>>>>>> > [...]
> >>> Thanks for testing it.
> >>>
> >>> Can you test it on the downstream bridge, tc358764 and post the result?
> >> There were 2 logs in my reply. One from trats2 board (just dsi panel)
> >> and one from arndale (tc bridge + simple panel).
> > Okay. Got it.
> >
> > Can you test this tc358764 panel_bridge patch on linux-next? don't
> > apply this series, apply only below patch and test.
> >
> Yes, sure. Sadly, it also breaks display operation:
>
> OF: graph: no port node found in /soc/hdmi at 14530000
> [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
> exynos-drm exynos-drm: bound 14400000.fimd (ops fimd_component_ops)
> exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops)
> OF: graph: no port node found in /soc/dsi at 14500000
> exynos-drm exynos-drm: bound 14500000.dsi (ops exynos_dsi_component_ops)
> exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_component_ops)
> exynos-drm exynos-drm: [drm] Cannot find any crtc or sizes
> exynos-drm exynos-drm: [drm] Cannot find any crtc or sizes
> [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 0
> panfrost 11800000.gpu: clock rate = 533000000
> panfrost 11800000.gpu: mali-t600 id 0x600 major 0x0 minor 0x0 status 0x1
> panfrost 11800000.gpu: features: 00000000,10206000, issues:
> 00000000,31b4dfff
> panfrost 11800000.gpu: Features: L2:0x07110206 Shader:0x00000000
> Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xf JS:0x7
> panfrost 11800000.gpu: shader_present=0xf l2_present=0x1
> [drm] Initialized panfrost 1.2.0 20180908 for 11800000.gpu on minor 1
> ------------[ cut here ]------------
> WARNING: CPU: 1 PID: 23 at drivers/gpu/drm/drm_atomic_state_helper.c:494
> drm_atomic_helper_connector_duplicate_state+0x60/0x68
> Modules linked in:
> CPU: 1 PID: 23 Comm: kworker/1:1 Not tainted
> 5.16.0-rc5-next-20211213-00001-gac4117943791 #11072
> Hardware name: Samsung Exynos (Flattened Device Tree)
> Workqueue: events output_poll_execute
> [<c01110d0>] (unwind_backtrace) from [<c010cab0>] (show_stack+0x10/0x14)
> [<c010cab0>] (show_stack) from [<c0b71b58>] (dump_stack_lvl+0x58/0x70)
> [<c0b71b58>] (dump_stack_lvl) from [<c0126c9c>] (__warn+0x228/0x22c)
> [<c0126c9c>] (__warn) from [<c0126d4c>] (warn_slowpath_fmt+0xac/0xb4)
> [<c0126d4c>] (warn_slowpath_fmt) from [<c064e844>]
> (drm_atomic_helper_connector_duplicate_state+0x60/0x68)
> [<c064e844>] (drm_atomic_helper_connector_duplicate_state) from
> [<c06685f4>] (drm_atomic_get_connector_state+0xd8/0x190)
> [<c06685f4>] (drm_atomic_get_connector_state) from [<c066960c>]
> (__drm_atomic_helper_set_config+0x2a0/0x368)
> [<c066960c>] (__drm_atomic_helper_set_config) from [<c0680a20>]
> (drm_client_modeset_commit_atomic+0x178/0x27c)
> [<c0680a20>] (drm_client_modeset_commit_atomic) from [<c0680be0>]
> (drm_client_modeset_commit_locked+0x48/0x1d0)
> [<c0680be0>] (drm_client_modeset_commit_locked) from [<c0680d8c>]
> (drm_client_modeset_commit+0x24/0x40)
> [<c0680d8c>] (drm_client_modeset_commit) from [<c0652a94>]
> (__drm_fb_helper_restore_fbdev_mode_unlocked+0x64/0xc8)
> [<c0652a94>] (__drm_fb_helper_restore_fbdev_mode_unlocked) from
> [<c0652b60>] (drm_fb_helper_set_par+0x38/0x64)
> [<c0652b60>] (drm_fb_helper_set_par) from [<c0652c34>]
> (drm_fb_helper_hotplug_event.part.5+0xa8/0xc0)
> [<c0652c34>] (drm_fb_helper_hotplug_event.part.5) from [<c063dfbc>]
> (drm_kms_helper_hotplug_event+0x24/0x30)
> [<c063dfbc>] (drm_kms_helper_hotplug_event) from [<c063e210>]
> (output_poll_execute+0x1ec/0x204)
> [<c063e210>] (output_poll_execute) from [<c0148990>]
> (process_one_work+0x2c8/0x7ec)
> [<c0148990>] (process_one_work) from [<c0148f04>] (worker_thread+0x50/0x584)
> [<c0148f04>] (worker_thread) from [<c0151300>] (kthread+0x13c/0x19c)
> [<c0151300>] (kthread) from [<c0100108>] (ret_from_fork+0x14/0x2c)
> Exception stack(0xc1d35fb0 to 0xc1d35ff8)
> 5fa0:                                     00000000 00000000 00000000
> 00000000
> 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000
> 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
> irq event stamp: 1287
> hardirqs last  enabled at (1293): [<c01a3b94>] vprintk_emit+0x270/0x2b4
> hardirqs last disabled at (1298): [<c01a3b50>] vprintk_emit+0x22c/0x2b4
> softirqs last  enabled at (1260): [<c01016fc>] __do_softirq+0x4cc/0x5ec
> softirqs last disabled at (1255): [<c01301c8>] irq_exit+0x1cc/0x200
> ---[ end trace 0fa33551718d667f ]---
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 7 at drivers/gpu/drm/drm_atomic_state_helper.c:494
> drm_atomic_helper_connector_duplicate_state+0x60/0x68
> Modules linked in:
> CPU: 0 PID: 7 Comm: kworker/u4:0 Tainted: G        W
> 5.16.0-rc5-next-20211213-00001-gac4117943791 #11072
> Hardware name: Samsung Exynos (Flattened Device Tree)
> Workqueue: events_unbound deferred_probe_work_func
> [<c01110d0>] (unwind_backtrace) from [<c010cab0>] (show_stack+0x10/0x14)
> [<c010cab0>] (show_stack) from [<c0b71b58>] (dump_stack_lvl+0x58/0x70)
> [<c0b71b58>] (dump_stack_lvl) from [<c0126c9c>] (__warn+0x228/0x22c)
> [<c0126c9c>] (__warn) from [<c0126d4c>] (warn_slowpath_fmt+0xac/0xb4)
> [<c0126d4c>] (warn_slowpath_fmt) from [<c064e844>]
> (drm_atomic_helper_connector_duplicate_state+0x60/0x68)
> [<c064e844>] (drm_atomic_helper_connector_duplicate_state) from
> [<c06685f4>] (drm_atomic_get_connector_state+0xd8/0x190)
> [<c06685f4>] (drm_atomic_get_connector_state) from [<c066960c>]
> (__drm_atomic_helper_set_config+0x2a0/0x368)
> [<c066960c>] (__drm_atomic_helper_set_config) from [<c0680a20>]
> (drm_client_modeset_commit_atomic+0x178/0x27c)
> [<c0680a20>] (drm_client_modeset_commit_atomic) from [<c0680be0>]
> (drm_client_modeset_commit_locked+0x48/0x1d0)
> [<c0680be0>] (drm_client_modeset_commit_locked) from [<c0680d8c>]
> (drm_client_modeset_commit+0x24/0x40)
> [<c0680d8c>] (drm_client_modeset_commit) from [<c0652a94>]
> (__drm_fb_helper_restore_fbdev_mode_unlocked+0x64/0xc8)
> [<c0652a94>] (__drm_fb_helper_restore_fbdev_mode_unlocked) from
> [<c0652b60>] (drm_fb_helper_set_par+0x38/0x64)
> [<c0652b60>] (drm_fb_helper_set_par) from [<c05bbf28>]
> (fbcon_init+0x48c/0x510)
> [<c05bbf28>] (fbcon_init) from [<c0608b50>] (visual_init+0xc0/0x108)
> [<c0608b50>] (visual_init) from [<c0609d78>]
> (do_bind_con_driver+0x1ac/0x388)
> [<c0609d78>] (do_bind_con_driver) from [<c060a2b0>]
> (do_take_over_console+0x13c/0x1c8)
> [<c060a2b0>] (do_take_over_console) from [<c05b90e0>]
> (do_fbcon_takeover+0x74/0xcc)
> [<c05b90e0>] (do_fbcon_takeover) from [<c05b38f0>]
> (register_framebuffer+0x1c8/0x2d8)
> [<c05b38f0>] (register_framebuffer) from [<c06524a4>]
> (__drm_fb_helper_initial_config_and_unlock+0x440/0x65c)
> [<c06524a4>] (__drm_fb_helper_initial_config_and_unlock) from
> [<c063dfbc>] (drm_kms_helper_hotplug_event+0x24/0x30)
> [<c063dfbc>] (drm_kms_helper_hotplug_event) from [<c0690fb8>]
> (exynos_dsi_host_attach+0x170/0x2a4)

I think I understand the issue. Please wait for next version patches.

Thanks,
Jagan.


More information about the dri-devel mailing list