[PATCH 1/2] drm: exynos: dsi: Convert to bridge driver

Jagan Teki jagan at amarulasolutions.com
Mon Nov 22 14:55:04 UTC 2021


Hi Marek,

On Mon, Nov 22, 2021 at 7:59 PM Jagan Teki <jagan at amarulasolutions.com> wrote:
>
> Hi Marek,
>
> On Mon, Nov 22, 2021 at 7:51 PM Jagan Teki <jagan at amarulasolutions.com> wrote:
> >
> > Hi Marek,
> >
> > On Mon, Nov 22, 2021 at 7:45 PM Marek Szyprowski
> > <m.szyprowski at samsung.com> 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 at amarulasolutions.com>
> > > > ---
> > > > 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 at 0/dsi at 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 at 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://github.com/openedev/linux/commit/412f226acd774356e8188c9e62b653672926ee0d

Any news on this? just asking in case if you missed it.

Jagan.


More information about the dri-devel mailing list