Linux Samsung SOC development
 help / color / mirror / Atom feed
From: Michael Tretter <m.tretter@pengutronix.de>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: "Krzysztof Kozlowski" <krzk@kernel.org>,
	"Bartłomiej Żołnierkiewicz" <b.zolnierkie@samsung.com>,
	"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
	"Andrzej Hajda" <a.hajda@samsung.com>,
	"Inki Dae" <inki.dae@samsung.com>,
	"Joonyoung Shim" <jy0922.shim@samsung.com>,
	"Seung-Woo Kim" <sw0312.kim@samsung.com>,
	dri-devel@lists.freedesktop.org,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	kernel@pengutronix.de, Laurent.pinchart@ideasonboard.com,
	narmstrong@baylibre.com
Subject: Re: [PATCH 00/16] drm/exynos: Convert driver to drm bridge
Date: Fri, 4 Sep 2020 14:20:14 +0200	[thread overview]
Message-ID: <20200904122014.GA7459@pengutronix.de> (raw)
In-Reply-To: <cb6d3ced-5bd2-443f-674e-b4c9acb8c021@samsung.com>

Hi Marek,

On Fri, 04 Sep 2020 10:31:12 +0200, Marek Szyprowski wrote:
> Hi Krzysztof,
> 
> On 03.09.2020 22:08, Krzysztof Kozlowski wrote:
> > On Thu, 3 Sep 2020 at 18:57, Michael Tretter <m.tretter@pengutronix.de> wrote:
> >> the Exynos MIPI DSI Phy is also found on the i.MX8M Mini. However, on the
> >> i.MX8M Mini, the bridge is driven by an LCDIF display controller instead of
> >> the Exynos Decon. The driver for the LCDIF does not use the component
> >> framework, but uses drm bridges.
> >>
> >> This series converts the Exynos MIPI DSI into a drm bridge and makes it usable
> >> with such drivers. Although the driver is converted, it still supports the
> >> component framework API to stay compliant with the Exynos DRM driver.
> >>
> >> Unfortunately, I don't have any Exynos SoC to actually test the series.  I
> >> tested the driver with a few additional unfinished patches on the i.MX8M Mini
> >> EVK, but somebody should definitely verify that the driver is still working on
> >> Exynos hardware.
> > Hi Michael,
> >
> > +Cc maintainers and folks in Samsung.
> >
> > Please follow the script/get_maintainers.pl to get the list of
> > maintainers of the Exynos DRM drivers. First they could provide you
> > with testing, second they might be the people merging the driver.
> >
> > Unfortunately I cannot provide proper testing as none of my boards
> > have a display attached. :)
> 
> Thanks for adding cc to me. Sadly this patchset crashed badly on Samsung 
> Exnyos based boards. Here is the log from Exynos3250-based Rinato:

Thanks for testing.

> 
> exynos4-fb 11c00000.fimd: Adding to iommu group 0
> OF: graph: no port node found in /soc/fimd@11c00000
> [drm] Exynos DRM: using 11c00000.fimd device for DMA mapping operations
> exynos-drm exynos-drm: bound 11c00000.fimd (ops fimd_component_ops)
> OF: graph: no port node found in /soc/dsi@11c80000
> 8<--- cut here ---
> Unable to handle kernel NULL pointer dereference at virtual address 00000650
> pgd = (ptrval)
> [00000650] *pgd=00000000
> Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> Modules linked in:
> CPU: 1 PID: 1 Comm: swapper/0 Not tainted 
> 5.9.0-rc2-next-20200824-00017-g3e9b20f7eb0d #1576
> Hardware name: Samsung Exynos (Flattened Device Tree)
> PC is at samsung_dsim_resume+0x18/0x120
> LR is at genpd_runtime_resume+0x160/0x278
> ...
> [<c064f590>] (samsung_dsim_resume) from [<c0685020>] 
> (genpd_runtime_resume+0x160/0x278)
> [<c0685020>] (genpd_runtime_resume) from [<c0677e84>] 
> (__rpm_callback+0xbc/0x124)
> [<c0677e84>] (__rpm_callback) from [<c0677f0c>] (rpm_callback+0x20/0x80)
> [<c0677f0c>] (rpm_callback) from [<c0676aec>] (rpm_resume+0x388/0x714)
> [<c0676aec>] (rpm_resume) from [<c0676edc>] (__pm_runtime_resume+0x64/0x9c)
> [<c0676edc>] (__pm_runtime_resume) from [<c0669e10>] 
> (__device_attach+0xcc/0x17c)
> [<c0669e10>] (__device_attach) from [<c0668ee8>] 
> (bus_probe_device+0x88/0x90)
> [<c0668ee8>] (bus_probe_device) from [<c06660a0>] (device_add+0x4e8/0x79c)
> [<c06660a0>] (device_add) from [<c063dc1c>] 
> (mipi_dsi_device_register_full+0xc8/0x148)
> [<c063dc1c>] (mipi_dsi_device_register_full) from [<c063dcec>] 
> (mipi_dsi_host_register+0x50/0x168)
> [<c063dcec>] (mipi_dsi_host_register) from [<c064d90c>] 
> (samsung_dsim_bind+0x368/0x40c)
> [<c064d90c>] (samsung_dsim_bind) from [<c06449f8>] 
> (exynos_dsi_bind+0x78/0x88)
> [<c06449f8>] (exynos_dsi_bind) from [<c0661ef0>] 
> (component_bind_all+0xfc/0x290)
> [<c0661ef0>] (component_bind_all) from [<c06413d0>] 
> (exynos_drm_bind+0xe4/0x19c)
> [<c06413d0>] (exynos_drm_bind) from [<c0662464>] 
> (try_to_bring_up_master+0x1e4/0x2c4)
> [<c0662464>] (try_to_bring_up_master) from [<c06629a4>] 
> (component_master_add_with_match+0xd4/0x108)
> [<c06629a4>] (component_master_add_with_match) from [<c06410f8>] 
> (exynos_drm_platform_probe+0xe4/0x110)
> [<c06410f8>] (exynos_drm_platform_probe) from [<c066cb8c>] 
> (platform_drv_probe+0x6c/0xa4)
> [<c066cb8c>] (platform_drv_probe) from [<c066a0c8>] 
> (really_probe+0x200/0x4fc)
> [<c066a0c8>] (really_probe) from [<c066a58c>] 
> (driver_probe_device+0x78/0x1fc)
> [<c066a58c>] (driver_probe_device) from [<c066a974>] 
> (device_driver_attach+0x58/0x60)
> [<c066a974>] (device_driver_attach) from [<c066aa58>] 
> (__driver_attach+0xdc/0x174)
> [<c066aa58>] (__driver_attach) from [<c0667e50>] 
> (bus_for_each_dev+0x68/0xb4)
> [<c0667e50>] (bus_for_each_dev) from [<c0669184>] 
> (bus_add_driver+0x158/0x214)
> [<c0669184>] (bus_add_driver) from [<c066b93c>] (driver_register+0x78/0x110)
> [<c066b93c>] (driver_register) from [<c06412b8>] 
> (exynos_drm_init+0xe4/0x118)
> [<c06412b8>] (exynos_drm_init) from [<c01023f4>] 
> (do_one_initcall+0x8c/0x424)
> [<c01023f4>] (do_one_initcall) from [<c10011a8>] 
> (kernel_init_freeable+0x190/0x1dc)
> [<c10011a8>] (kernel_init_freeable) from [<c0ae8e5c>] 
> (kernel_init+0x8/0x118)
> [<c0ae8e5c>] (kernel_init) from [<c0100114>] (ret_from_fork+0x14/0x20)
> Exception stack(0xd94a5fb0 to 0xd94a5ff8)
> ...
> ---[ end trace 1a053145d15f23dc ]---
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> CPU0: stopping
> CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D 
> 5.9.0-rc2-next-20200824-00017-g3e9b20f7eb0d #1576
> Hardware name: Samsung Exynos (Flattened Device Tree)
> [<c011160c>] (unwind_backtrace) from [<c010cfc0>] (show_stack+0x10/0x14)
> [<c010cfc0>] (show_stack) from [<c0533c3c>] (dump_stack+0xbc/0xe8)
> [<c0533c3c>] (dump_stack) from [<c01104e0>] (handle_IPI+0x3e0/0x428)
> [<c01104e0>] (handle_IPI) from [<c05511dc>] (gic_handle_irq+0x98/0x9c)
> [<c05511dc>] (gic_handle_irq) from [<c0100af0>] (__irq_svc+0x70/0xb0)
> Exception stack(0xc1101f08 to 0xc1101f50)
> ...
> [<c0100af0>] (__irq_svc) from [<c01095dc>] (arch_cpu_idle+0x24/0x44)
> [<c01095dc>] (arch_cpu_idle) from [<c01635dc>] (do_idle+0x1bc/0x2bc)
> [<c01635dc>] (do_idle) from [<c0163a90>] (cpu_startup_entry+0x18/0x1c)
> [<c0163a90>] (cpu_startup_entry) from [<c1000f88>] 
> (start_kernel+0x628/0x664)
> [<c1000f88>] (start_kernel) from [<00000000>] (0x0)
> ---[ end Kernel panic - not syncing: Attempted to kill init! 
> exitcode=0x0000000b ]---

This and the other null pointer dereference look like two different problems.
I will look into both of them and send an update.

I will also try to come up with something to at least test the bind/unbind
interface and reduce the code that I cannot test.

> 
> I've didn't check the code yet, but the conversion also lacks "select 
> DRM_SAMSUNG_DSIM" in the Exynos DSI driver's Kconfig, as I wasn't even 
> able to compile it with the current exynos_defconfig.

Dang, of course. I will fix it.

Michael

      reply	other threads:[~2020-09-04 12:20 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-03 16:57 [PATCH 00/16] drm/exynos: Convert driver to drm bridge Michael Tretter
2020-09-03 16:57 ` [PATCH 01/16] drm/encoder: remove obsolete documentation of bridge Michael Tretter
2020-09-03 22:04   ` Laurent Pinchart
2020-09-03 16:57 ` [PATCH 02/16] drm/exynos: extract helper functions for probe Michael Tretter
2020-09-04  9:04   ` Marek Szyprowski
2020-09-04  9:21     ` Marek Szyprowski
2020-09-03 16:57 ` [PATCH 03/16] drm/exynos: remove in_bridge_node from exynos_dsi Michael Tretter
2020-09-03 16:57 ` [PATCH 04/16] drm/exynos: implement a drm bridge Michael Tretter
2020-09-03 16:57 ` [PATCH 05/16] drm/exynos: convert encoder functions to bridge function Michael Tretter
2020-09-03 16:57 ` [PATCH 06/16] drm/exynos: configure mode on drm bridge Michael Tretter
2020-09-03 16:57 ` [PATCH 07/16] drm/exynos: get encoder from bridge whenever possible Michael Tretter
2020-09-03 16:57 ` [PATCH 08/16] drm/exynos: use exynos_dsi as drvdata Michael Tretter
2020-09-03 16:57 ` [PATCH 09/16] drm/exynos: call probe helper from bind Michael Tretter
2020-09-03 16:57 ` [PATCH 10/16] drm/exynos: move dsi host registration to probe helper Michael Tretter
2020-09-03 16:57 ` [PATCH 11/16] drm/exynos: shift register values to fields on write Michael Tretter
2020-09-03 16:57 ` [PATCH 12/16] drm/exynos: use identifier instead of register offsets Michael Tretter
2020-09-03 16:57 ` [PATCH 13/16] drm/exynos: add callback for tearing effect handler Michael Tretter
2020-09-03 16:57 ` [PATCH 14/16] drm/exynos: add callback for enabling i80 mode Michael Tretter
2020-09-03 16:57 ` [PATCH 15/16] drm/exynos: split out platform specific code Michael Tretter
2020-09-03 20:08 ` [PATCH 00/16] drm/exynos: Convert driver to drm bridge Krzysztof Kozlowski
2020-09-04  8:31   ` Marek Szyprowski
2020-09-04 12:20     ` Michael Tretter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200904122014.GA7459@pengutronix.de \
    --to=m.tretter@pengutronix.de \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=inki.dae@samsung.com \
    --cc=jy0922.shim@samsung.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=narmstrong@baylibre.com \
    --cc=sw0312.kim@samsung.com \
    --cc=sylvester.nawrocki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox