dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>,
	Martyn Welch <martyn.welch@collabora.co.uk>,
	Jonas Karlman <jonas@kwiboo.se>,
	Peter Senna Tschudin <peter.senna@gmail.com>,
	dri-devel@lists.freedesktop.org,
	Neil Armstrong <narmstrong@baylibre.com>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Martin Donnelly <martin.donnelly@ge.com>,
	kbuild test robot <lkp@intel.com>
Subject: Re: [v4,04/15] drm/bridge: tc358764: add drm_panel_bridge support
Date: Sun, 30 Aug 2020 22:42:42 +0200	[thread overview]
Message-ID: <20200830204242.GA952289@ravnborg.org> (raw)
In-Reply-To: <f22146de-1660-035c-c476-f7b3354de7cb@samsung.com>

Hi Marek.

On Thu, Aug 27, 2020 at 01:39:06PM +0200, Marek Szyprowski wrote:
> Hi Sam,
> 
> On 26.07.2020 22:33, Sam Ravnborg wrote:
> > Prepare the tc358764 bridge driver for use in a chained setup by
> > replacing direct use of drm_panel with drm_panel_bridge support.
> >
> > The bridge panel will use the connector type reported by the panel,
> > where the connector for this driver hardcodes DRM_MODE_CONNECTOR_LVDS.
> >
> > The tc358764 did not any additional info the the connector so the
> > connector creation is passed to the bridge panel driver.
> >
> > v3:
> >    - Merge with patch to make connector creation optional to avoid
> >      creating two connectors (Laurent)
> >    - Pass connector creation to bridge panel, as this bridge driver
> >      did not add any extra info to the connector.
> >    - Set bridge.type to DRM_MODE_CONNECTOR_LVDS.
> >
> > v2:
> >    - Use PTR_ERR_OR_ZERO() (kbuild test robot)
> >
> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Cc: kbuild test robot <lkp@intel.com>
> > Cc: Andrzej Hajda <a.hajda@samsung.com>
> > Cc: Neil Armstrong <narmstrong@baylibre.com>
> > Cc: Jonas Karlman <jonas@kwiboo.se>
> > Cc: Jernej Skrabec <jernej.skrabec@siol.net>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> I've noticed that this patch has been merged recently to linux-next. 
> Sadly it causes regression on Samsung Exynos5250-based Arndale board.

Thanks for reporting this!

I did not find time to focus on this bug this weekend. It is on my todo
list for the coming weekend.

Anything you could do to narrow down this a bit to help finding the root
cause?

Ideas:
- Trying to find out what part of the connector that cuases troubles
- Posting the full kernel boot log, to help identifying something.
  Bonus if we get a working and non-working log - so we can compare.
- Migrate exonys to the new model
  That would not fix the bug, so that would be a natural step 2
- Identify the exact code-patch in the exonys driver that is used.
  drm_bridge_attach() is called in several places
- And likely much more that I just forgot

Any help would be appreciated - I did not find the culprint from first
glance. I may still be obvious but I just failed to spot it.

	Sam

> 
> It can be observed by the following warning during boot:
> 
> ------------[ cut here ]------------
> WARNING: CPU: 1 PID: 1 at drivers/gpu/drm/drm_atomic_state_helper.c:494 
> drm_atomic_helper_connector_duplicate_state+0x60/0x68
> Modules linked in:
> CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.8.0-rc2-00501-g1644127f83bc 
> #1526
> Hardware name: Samsung Exynos (Flattened Device Tree)
> [<c011184c>] (unwind_backtrace) from [<c010d250>] (show_stack+0x10/0x14)
> [<c010d250>] (show_stack) from [<c0517ce4>] (dump_stack+0xbc/0xe8)
> [<c0517ce4>] (dump_stack) from [<c01270a8>] (__warn+0xf0/0x108)
> [<c01270a8>] (__warn) from [<c0127170>] (warn_slowpath_fmt+0xb0/0xb8)
> [<c0127170>] (warn_slowpath_fmt) from [<c05e81f0>] 
> (drm_atomic_helper_connector_duplicate_state+0x60/0x68)
> [<c05e81f0>] (drm_atomic_helper_connector_duplicate_state) from 
> [<c06014b8>] (drm_atomic_get_connector_state+0xfc/0x184)
> [<c06014b8>] (drm_atomic_get_connector_state) from [<c0602238>] 
> (__drm_atomic_helper_set_config+0x2a0/0x368)
> [<c0602238>] (__drm_atomic_helper_set_config) from [<c06183b8>] 
> (drm_client_modeset_commit_atomic+0x180/0x284)
> [<c06183b8>] (drm_client_modeset_commit_atomic) from [<c061859c>] 
> (drm_client_modeset_commit_locked+0x64/0x1cc)
> [<c061859c>] (drm_client_modeset_commit_locked) from [<c0618728>] 
> (drm_client_modeset_commit+0x24/0x40)
> [<c0618728>] (drm_client_modeset_commit) from [<c05eb6b4>] 
> (drm_fb_helper_restore_fbdev_mode_unlocked+0x50/0x94)
> [<c05eb6b4>] (drm_fb_helper_restore_fbdev_mode_unlocked) from 
> [<c05eb728>] (drm_fb_helper_set_par+0x30/0x5c)
> [<c05eb728>] (drm_fb_helper_set_par) from [<c055dedc>] 
> (fbcon_init+0x5c8/0x65c)
> [<c055dedc>] (fbcon_init) from [<c05a8530>] (visual_init+0xc0/0x108)
> [<c05a8530>] (visual_init) from [<c05aaca4>] 
> (do_bind_con_driver+0x180/0x39c)
> [<c05aaca4>] (do_bind_con_driver) from [<c05ab244>] 
> (do_take_over_console+0x140/0x1cc)
> [<c05ab244>] (do_take_over_console) from [<c055ac04>] 
> (do_fbcon_takeover+0x84/0xe0)
> [<c055ac04>] (do_fbcon_takeover) from [<c0553820>] 
> (register_framebuffer+0x1cc/0x2dc)
> [<c0553820>] (register_framebuffer) from [<c05eb19c>] 
> (__drm_fb_helper_initial_config_and_unlock+0x3f0/0x5e8)
> [<c05eb19c>] (__drm_fb_helper_initial_config_and_unlock) from 
> [<c05d941c>] (drm_kms_helper_hotplug_event+0x24/0x30)
> [<c05d941c>] (drm_kms_helper_hotplug_event) from [<c0628f74>] 
> (exynos_dsi_host_attach+0x184/0x2d8)
> [<c0628f74>] (exynos_dsi_host_attach) from [<c0634120>] 
> (tc358764_probe+0x13c/0x1ac)
> [<c0634120>] (tc358764_probe) from [<c064cce4>] (really_probe+0x200/0x48c)
> [<c064cce4>] (really_probe) from [<c064d0d8>] 
> (driver_probe_device+0x78/0x1fc)
> [<c064d0d8>] (driver_probe_device) from [<c064d4c0>] 
> (device_driver_attach+0x58/0x60)
> [<c064d4c0>] (device_driver_attach) from [<c064d5a4>] 
> (__driver_attach+0xdc/0x174)
> [<c064d5a4>] (__driver_attach) from [<c064aaf0>] 
> (bus_for_each_dev+0x68/0xb4)
> [<c064aaf0>] (bus_for_each_dev) from [<c064be24>] 
> (bus_add_driver+0x158/0x214)
> [<c064be24>] (bus_add_driver) from [<c064e478>] (driver_register+0x78/0x110)
> [<c064e478>] (driver_register) from [<c0102378>] 
> (do_one_initcall+0x8c/0x424)
> [<c0102378>] (do_one_initcall) from [<c1001158>] 
> (kernel_init_freeable+0x190/0x204)
> [<c1001158>] (kernel_init_freeable) from [<c0ab835c>] 
> (kernel_init+0x8/0x118)
> [<c0ab835c>] (kernel_init) from [<c0100114>] (ret_from_fork+0x14/0x20)
> Exception stack(0xee8ddfb0 to 0xee8ddff8)
> dfa0:                                     00000000 00000000 00000000 
> 00000000
> dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
> 00000000
> dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
> irq event stamp: 171647
> hardirqs last  enabled at (171653): [<c019ec00>] vprintk_emit+0x2ac/0x2ec
> hardirqs last disabled at (171658): [<c019eab8>] vprintk_emit+0x164/0x2ec
> softirqs last  enabled at (171486): [<c010174c>] __do_softirq+0x50c/0x608
> softirqs last disabled at (171473): [<c0130340>] irq_exit+0x168/0x16c
> ---[ end trace 33117a16f066466a ]---
> 
> Then calling modetest end with segmentation fault. I'm not able to check 
> currently if there is anything on the display because of having only 
> remote access to the board. If this is important I will try to ask 
> someone to help checking at the board's display at the office.
> 
> Best regards
> -- 
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-08-30 20:42 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-26 20:33 [PATCH v4 0/15] drm/bridge: support chained bridges + panel updates Sam Ravnborg
2020-07-26 20:33 ` [PATCH v4 01/15] drm/panel: panel-simple: validate panel description Sam Ravnborg
2020-07-26 21:24   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 02/15] drm/panel: panel-simple: add default connector_type Sam Ravnborg
2020-07-26 21:26   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 03/15] drm/bridge: tc358764: drop drm_connector_(un)register Sam Ravnborg
2020-09-02 16:48   ` Andrzej Hajda
2020-07-26 20:33 ` [PATCH v4 04/15] drm/bridge: tc358764: add drm_panel_bridge support Sam Ravnborg
2020-07-26 21:37   ` Laurent Pinchart
2020-08-27 11:39   ` [v4,04/15] " Marek Szyprowski
2020-08-30 20:42     ` Sam Ravnborg [this message]
2020-09-03  6:20       ` Andrzej Hajda
2020-09-03  9:40   ` [PATCH v4 04/15] " Andrzej Hajda
2020-09-03  9:59     ` Laurent Pinchart
2020-09-03 15:10       ` Andrzej Hajda
2020-07-26 20:33 ` [PATCH v4 05/15] drm/bridge: tc358767: add detect bridge operation Sam Ravnborg
2020-07-26 21:27   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 06/15] drm/bridge: tc358767: add get_edid " Sam Ravnborg
2020-07-26 21:40   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 07/15] drm/bridge: tc358767: add drm_panel_bridge support Sam Ravnborg
2020-07-26 21:48   ` Laurent Pinchart
2020-07-27  7:22     ` Sam Ravnborg
2020-07-26 20:33 ` [PATCH v4 08/15] drm/bridge: parade-ps8622: " Sam Ravnborg
2020-07-26 21:54   ` Laurent Pinchart
2020-07-27 15:23     ` Sam Ravnborg
2020-07-26 20:33 ` [PATCH v4 09/15] drm/bridge: megachips: add helper to create connector Sam Ravnborg
2020-07-26 20:33 ` [PATCH v4 10/15] drm/bridge: megachips: get drm_device from bridge Sam Ravnborg
2020-07-26 20:33 ` [PATCH v4 11/15] drm/bridge: megachips: enable detect bridge operation Sam Ravnborg
2020-07-26 20:33 ` [PATCH v4 12/15] drm/bridge: megachips: add get_edid " Sam Ravnborg
2020-07-26 21:57   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 13/15] drm/bridge: megachips: make connector creation optional Sam Ravnborg
2020-07-26 21:59   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 14/15] drm/bridge: nxp-ptn3460: add get_edid bridge operation Sam Ravnborg
2020-07-26 22:00   ` Laurent Pinchart
2020-07-26 20:33 ` [PATCH v4 15/15] drm/bridge: nxp-ptn3460: add drm_panel_bridge support Sam Ravnborg
2020-07-26 22:05   ` Laurent Pinchart
2020-07-27 16:56 ` [PATCH v4 0/15] drm/bridge: support chained bridges + panel updates Sam Ravnborg

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=20200830204242.GA952289@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=a.hajda@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=lkp@intel.com \
    --cc=m.szyprowski@samsung.com \
    --cc=martin.donnelly@ge.com \
    --cc=martyn.welch@collabora.co.uk \
    --cc=narmstrong@baylibre.com \
    --cc=peter.senna@gmail.com \
    --cc=thierry.reding@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