From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0BC46C433E2 for ; Sun, 30 Aug 2020 20:42:50 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D2BC220757 for ; Sun, 30 Aug 2020 20:42:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D2BC220757 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E5953891DB; Sun, 30 Aug 2020 20:42:48 +0000 (UTC) Received: from asavdk4.altibox.net (asavdk4.altibox.net [109.247.116.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id E3636891DB for ; Sun, 30 Aug 2020 20:42:47 +0000 (UTC) Received: from ravnborg.org (unknown [188.228.123.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by asavdk4.altibox.net (Postfix) with ESMTPS id 96DC5804BB; Sun, 30 Aug 2020 22:42:43 +0200 (CEST) Date: Sun, 30 Aug 2020 22:42:42 +0200 From: Sam Ravnborg To: Marek Szyprowski Subject: Re: [v4,04/15] drm/bridge: tc358764: add drm_panel_bridge support Message-ID: <20200830204242.GA952289@ravnborg.org> References: <20200726203324.3722593-5-sam@ravnborg.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=A5ZCwZeG c=1 sm=1 tr=0 a=S6zTFyMACwkrwXSdXUNehg==:117 a=S6zTFyMACwkrwXSdXUNehg==:17 a=8nJEP1OIZ-IA:10 a=7gkXJVJtAAAA:8 a=P1BnusSwAAAA:8 a=QyXUC8HyAAAA:8 a=hD80L64hAAAA:8 a=IpJZQVW2AAAA:8 a=RwHePtW7AAAA:8 a=U9mkZgPJNYwR20VoP_YA:9 a=wPNLvfGTeEIA:10 a=E9Po1WZjFZOl8hwRPBS3:22 a=D0XLA9XvdZm18NrgonBM:22 a=IawgGOuG5U0WyFbmm1f5:22 a=FqraQwd7dyEg5dwJgZJs:22 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jernej Skrabec , Martyn Welch , Jonas Karlman , Peter Senna Tschudin , dri-devel@lists.freedesktop.org, Neil Armstrong , Andrzej Hajda , Thierry Reding , Laurent Pinchart , Martin Donnelly , kbuild test robot Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 > > Cc: Laurent Pinchart > > Cc: kbuild test robot > > Cc: Andrzej Hajda > > Cc: Neil Armstrong > > Cc: Jonas Karlman > > Cc: Jernej Skrabec > > Reviewed-by: Laurent Pinchart > = > 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) > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0xbc/0xe8) > [] (dump_stack) from [] (__warn+0xf0/0x108) > [] (__warn) from [] (warn_slowpath_fmt+0xb0/0xb8) > [] (warn_slowpath_fmt) from [] = > (drm_atomic_helper_connector_duplicate_state+0x60/0x68) > [] (drm_atomic_helper_connector_duplicate_state) from = > [] (drm_atomic_get_connector_state+0xfc/0x184) > [] (drm_atomic_get_connector_state) from [] = > (__drm_atomic_helper_set_config+0x2a0/0x368) > [] (__drm_atomic_helper_set_config) from [] = > (drm_client_modeset_commit_atomic+0x180/0x284) > [] (drm_client_modeset_commit_atomic) from [] = > (drm_client_modeset_commit_locked+0x64/0x1cc) > [] (drm_client_modeset_commit_locked) from [] = > (drm_client_modeset_commit+0x24/0x40) > [] (drm_client_modeset_commit) from [] = > (drm_fb_helper_restore_fbdev_mode_unlocked+0x50/0x94) > [] (drm_fb_helper_restore_fbdev_mode_unlocked) from = > [] (drm_fb_helper_set_par+0x30/0x5c) > [] (drm_fb_helper_set_par) from [] = > (fbcon_init+0x5c8/0x65c) > [] (fbcon_init) from [] (visual_init+0xc0/0x108) > [] (visual_init) from [] = > (do_bind_con_driver+0x180/0x39c) > [] (do_bind_con_driver) from [] = > (do_take_over_console+0x140/0x1cc) > [] (do_take_over_console) from [] = > (do_fbcon_takeover+0x84/0xe0) > [] (do_fbcon_takeover) from [] = > (register_framebuffer+0x1cc/0x2dc) > [] (register_framebuffer) from [] = > (__drm_fb_helper_initial_config_and_unlock+0x3f0/0x5e8) > [] (__drm_fb_helper_initial_config_and_unlock) from = > [] (drm_kms_helper_hotplug_event+0x24/0x30) > [] (drm_kms_helper_hotplug_event) from [] = > (exynos_dsi_host_attach+0x184/0x2d8) > [] (exynos_dsi_host_attach) from [] = > (tc358764_probe+0x13c/0x1ac) > [] (tc358764_probe) from [] (really_probe+0x200/0x48c) > [] (really_probe) from [] = > (driver_probe_device+0x78/0x1fc) > [] (driver_probe_device) from [] = > (device_driver_attach+0x58/0x60) > [] (device_driver_attach) from [] = > (__driver_attach+0xdc/0x174) > [] (__driver_attach) from [] = > (bus_for_each_dev+0x68/0xb4) > [] (bus_for_each_dev) from [] = > (bus_add_driver+0x158/0x214) > [] (bus_add_driver) from [] (driver_register+0x78/0x1= 10) > [] (driver_register) from [] = > (do_one_initcall+0x8c/0x424) > [] (do_one_initcall) from [] = > (kernel_init_freeable+0x190/0x204) > [] (kernel_init_freeable) from [] = > (kernel_init+0x8/0x118) > [] (kernel_init) from [] (ret_from_fork+0x14/0x20) > Exception stack(0xee8ddfb0 to 0xee8ddff8) > dfa0:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 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=A0 enabled at (171653): [] vprintk_emit+0x2ac/0x2= ec > hardirqs last disabled at (171658): [] vprintk_emit+0x164/0x2ec > softirqs last=A0 enabled at (171486): [] __do_softirq+0x50c/0x6= 08 > softirqs last disabled at (171473): [] 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