On 22.11.2021 15:55, Jagan Teki wrote: > On Mon, Nov 22, 2021 at 7:59 PM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote: >> On Mon, Nov 22, 2021 at 7:51 PM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote: >>> On Mon, Nov 22, 2021 at 7:45 PM Marek Szyprowski >>> <m.szyprowski@xxxxxxxxxxx> wrote: >>>> On 22.11.2021 08:06, Jagan Teki wrote: >>>>> Some display panels would come up with a non-DSI output, those >>>>> can have an option to connect the DSI host by means of interface >>>>> bridge converter. >>>>> >>>>> This DSI to non-DSI interface bridge converter would requires >>>>> DSI Host to handle drm bridge functionalities in order to DSI >>>>> Host to Interface bridge. >>>>> >>>>> This patch convert the existing to a drm bridge driver with a >>>>> built-in encoder support for compatibility with existing >>>>> component drivers. >>>>> >>>>> Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> >>>>> --- >>>>> Note: >>>>> Hi Marek Szyprowski, >>>>> >>>>> Please test this on Panel and Bridge hardware. >>>> I don't have good news, t crashes: >>>> >>>> [drm] Exynos DRM: using 13800000.decon device for DMA mapping operations >>>> exynos-drm exynos-drm: bound 13800000.decon (ops decon_component_ops) >>>> exynos-drm exynos-drm: bound 13880000.decon (ops decon_component_ops) >>>> exynos-drm exynos-drm: bound 13930000.mic (ops exynos_mic_component_ops) >>>> [drm:drm_bridge_attach] *ERROR* failed to attach bridge >>>> /soc@0/dsi@13900000 to encoder TMDS-67: -22 >>>> exynos-drm exynos-drm: failed to bind 13900000.dsi (ops >>>> exynos_dsi_component_ops): -22 >>>> Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP >>>> Modules linked in: >>>> CPU: 2 PID: 74 Comm: kworker/u16:1 Not tainted 5.16.0-rc1+ #4141 >>>> Hardware name: Samsung TM2E board (DT) >>>> Workqueue: events_unbound deferred_probe_work_func >>>> pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) >>>> pc : decon_atomic_disable+0x58/0xd4 >>>> lr : decon_atomic_disable+0x28/0xd4 >>>> sp : ffff80001390b940 >>>> x29: ffff80001390b940 x28: ffff80001259a000 x27: ffff000027f39e80 >>>> input: stmfts as >>>> /devices/platform/soc@0/14ed0000.hsi2c/i2c-3/3-0049/input/input0 >>>> x26: 00000000ffffffea x25: ffff000025a40280 x24: 0000000000000001 >>>> x23: ffff800011b55f98 x22: ffff0000315dc000 x21: ffff00002695d100 >>>> x20: ffff000027e7a080 x19: ffff0000315e6000 x18: 0000000000000000 >>>> x17: 645f736f6e797865 x16: 2073706f28206973 x15: 0000000000028ee0 >>>> x14: 0000000000000028 x13: 0000000000000001 x12: 0000000000000040 >>>> x11: ffff000023c18920 x10: ffff000023c18922 x9 : ffff8000126352f0 >>>> x8 : ffff000023c00270 x7 : 0000000000000000 x6 : ffff000023c00268 >>>> x5 : ffff000027e7a3a0 x4 : 0000000000000001 x3 : ffff000027e7a080 >>>> x2 : 0000000000000024 x1 : ffff800013bc8024 x0 : ffff0000246117c0 >>>> Call trace: >>>> decon_atomic_disable+0x58/0xd4 >>>> decon_unbind+0x1c/0x3c >>>> component_unbind+0x38/0x60 >>>> component_bind_all+0x16c/0x25c >>>> exynos_drm_bind+0x104/0x1bc >>>> try_to_bring_up_master+0x164/0x1d0 >>>> __component_add+0xa8/0x174 >>>> component_add+0x14/0x20 >>>> hdmi_probe+0x438/0x710 >>>> platform_probe+0x68/0xe0 >>>> really_probe.part.0+0x9c/0x31c >>>> __driver_probe_device+0x98/0x144 >>>> driver_probe_device+0xc8/0x160 >>>> __device_attach_driver+0xb8/0x120 >>>> bus_for_each_drv+0x78/0xd0 >>>> __device_attach+0xd8/0x180 >>>> device_initial_probe+0x14/0x20 >>>> bus_probe_device+0x9c/0xa4 >>>> deferred_probe_work_func+0x88/0xc4 >>>> process_one_work+0x288/0x6f0 >>>> worker_thread+0x74/0x470 >>>> kthread+0x188/0x194 >>>> ret_from_fork+0x10/0x20 >>>> Code: 11002042 f9481c61 531e7442 8b020021 (88dffc21) >>>> ---[ end trace d73aff585b108954 ]--- >>>> Kernel panic - not syncing: synchronous external abort: Fatal exception >>>> SMP: stopping secondary CPUs >>>> Kernel Offset: disabled >>>> CPU features: 0x2,300071c2,00000846 >>>> Memory Limit: none >>>> ---[ end Kernel panic - not syncing: synchronous external abort: Fatal >>>> exception ]--- >>> Is this with Bridge or normal DSI panel? >> Can you apply this patch and check? >> https://protect2.fireeye.com/v1/url?k=aad62f08-f54d1627-aad7a447-0cc47a31cdf8-ea5858ddb7f0ecfe&q=1&e=2d730862-2c56-4988-a252-8febd02da578&u=https%3A%2F%2Fgithub.com%2Fopenedev%2Flinux%2Fcommit%2F412f226acd774356e8188c9e62b653672926ee0d > Any news on this? just asking in case if you missed it. It is somehow better. System doesn't crash, but the DRM is not bound: # cat /sys/kernel/debug/device_component/exynos-drm master name status ------------------------------------------------------------- exynos-drm not bound device name status ------------------------------------------------------------- 13800000.decon not bound 13880000.decon not bound 13930000.mic not bound (unknown) not registered (unknown) not registered Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland