From: Daniel Vetter <daniel.vetter@ffwll.ch> To: Liviu Dudau <liviu@dudau.co.uk> Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>, Thierry Reding <treding@nvidia.com>, DRI Development <dri-devel@lists.freedesktop.org> Subject: Re: [PATCH 00/12] fbdev helper locking rework and deferred setup Date: Fri, 23 Jun 2017 09:38:49 +0200 [thread overview] Message-ID: <CAKMK7uHFrFO61kTHZGTsemBKoZRrshmAr14MJFUF+ffOjyQ+xA@mail.gmail.com> (raw) In-Reply-To: <20170622145450.GA11087@bart.dudau.co.uk> On Thu, Jun 22, 2017 at 4:54 PM, Liviu Dudau <liviu@dudau.co.uk> wrote: > On Wed, Jun 21, 2017 at 08:28:03PM +0200, Daniel Vetter wrote: >> Hi all, >> >> This is Thierry's deferred fbdev setup series, with the locking rework almost >> entirely redone. The much wider scope is to get rid of drm_modeset_lock_all >> calls for atomic drivers and remove users of the fairly nasty >> mode_config->acquire_ctx hack, which breaks when doing multiple atomic commits. >> >> Testing&review very much appreciated, especially from people who care about the >> various fbdev emulation things and the deferred setup stuff. > > Tested on my Juno dev board on a bit of a convoluted setup: the dev board has > built into the SoC 2x HDLCD instances and I also have an FPGA daughter board > with Mali DP 650 running again on a 2x configuration. On boot I'm getting this > warning: > > juno-r0-ld login: [ 241.986785] INFO: task kworker/3:1:80 blocked for more than 120 seconds. > [ 241.993652] Not tainted 4.12.0-rc5-01275-g1e2237a19156 #2 > [ 241.999689] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > [ 242.007660] kworker/3:1 D 0 80 2 0x00000000 > [ 242.013340] Workqueue: events output_poll_execute [drm_kms_helper] > [ 242.019637] Call trace: > [ 242.022132] [<ffff000008085798>] __switch_to+0x98/0xb0 > [ 242.027373] [<ffff00000886b3d4>] __schedule+0x19c/0x5e8 > [ 242.032699] [<ffff00000886b858>] schedule+0x38/0xa0 > [ 242.037672] [<ffff00000886bd38>] schedule_preempt_disabled+0x20/0x38 > [ 242.044144] [<ffff00000886c968>] __mutex_lock.isra.0+0x140/0x530 > [ 242.050262] [<ffff00000886cd68>] __mutex_lock_slowpath+0x10/0x18 > [ 242.056379] [<ffff00000886cda0>] mutex_lock+0x30/0x38 > [ 242.061597] [<ffff000000929660>] drm_fb_helper_hotplug_event.part.22+0x20/0x100 [drm_kms_helper] > [ 242.070611] [<ffff000000929764>] drm_fb_helper_hotplug_event+0x24/0x38 [drm_kms_helper] > [ 242.078828] [<ffff00000092a360>] drm_fbdev_cma_hotplug_event+0x10/0x20 [drm_kms_helper] > [ 242.086984] [<ffff000000b44494>] hdlcd_fb_output_poll_changed+0x14/0x20 [hdlcd] > [ 242.094495] [<ffff000000919e90>] drm_kms_helper_hotplug_event+0x28/0x38 [drm_kms_helper] > [ 242.102801] [<ffff00000091a090>] output_poll_execute+0x1a0/0x1f0 [drm_kms_helper] > [ 242.110424] [<ffff0000080d7fd4>] process_one_work+0x1d4/0x330 > [ 242.116280] [<ffff0000080d8178>] worker_thread+0x48/0x468 > [ 242.121781] [<ffff0000080ddf64>] kthread+0x12c/0x130 > [ 242.126839] [<ffff000008082ec0>] ret_from_fork+0x10/0x50 > [ 242.132252] INFO: task kworker/5:1:82 blocked for more than 120 seconds. > [ 242.139074] Not tainted 4.12.0-rc5-01275-g1e2237a19156 #2 > [ 242.145099] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > [ 242.153064] kworker/5:1 D 0 82 2 0x00000000 > [ 242.158724] Workqueue: events output_poll_execute [drm_kms_helper] > [ 242.165019] Call trace: > [ 242.167519] [<ffff000008085798>] __switch_to+0x98/0xb0 > [ 242.172755] [<ffff00000886b3d4>] __schedule+0x19c/0x5e8 > [ 242.178079] [<ffff00000886b858>] schedule+0x38/0xa0 > [ 242.183051] [<ffff00000886bd38>] schedule_preempt_disabled+0x20/0x38 > [ 242.189520] [<ffff00000886c968>] __mutex_lock.isra.0+0x140/0x530 > [ 242.195639] [<ffff00000886cd68>] __mutex_lock_slowpath+0x10/0x18 > [ 242.201756] [<ffff00000886cda0>] mutex_lock+0x30/0x38 > [ 242.206972] [<ffff000000929660>] drm_fb_helper_hotplug_event.part.22+0x20/0x100 [drm_kms_helper] > [ 242.215984] [<ffff000000929764>] drm_fb_helper_hotplug_event+0x24/0x38 [drm_kms_helper] > [ 242.224201] [<ffff00000092a360>] drm_fbdev_cma_hotplug_event+0x10/0x20 [drm_kms_helper] > [ 242.232367] [<ffff000000b543a4>] malidp_output_poll_changed+0x14/0x20 [mali_dp] > [ 242.239880] [<ffff000000919e90>] drm_kms_helper_hotplug_event+0x28/0x38 [drm_kms_helper] > [ 242.248188] [<ffff00000091a090>] output_poll_execute+0x1a0/0x1f0 [drm_kms_helper] > [ 242.255808] [<ffff0000080d7fd4>] process_one_work+0x1d4/0x330 > [ 242.261664] [<ffff0000080d8178>] worker_thread+0x48/0x468 > [ 242.267196] [<ffff0000080ddf64>] kthread+0x12c/0x130 > [ 242.272312] [<ffff000008082ec0>] ret_from_fork+0x10/0x50 > > Each hardware type has only one instance of each driver being connected to an > output, HDLCD is connected to an HDMI monitor that is not "active" (i.e. > input is switched to DP connection), while the Mali DP instance is connected to > a monitor. > > Suggestions on where to look next are welcome. I'm betting I've fumbled an unlock path somewhere and now your stuck trying to get a lock you can't get. Can you pls recompile with lockdep enabled and repro? That will directly tell us where and what went wrong. Thanks for testing. -Daniel > > Best regards, > Liviu > >> >> Thanks, Daniel >> >> Daniel Vetter (7): >> drm/i915: Drop FBDEV #ifdev in mst code >> drm/fb-helper: Push locking in fb_is_bound >> drm/fb-helper: Drop locking from the vsync wait ioctl code >> drm/fb-helper: Push locking into pan_display_atomic|legacy >> drm/fb-helper: Push locking into restore_fbdev_mode_atomic|legacy >> drm/fb-helper: Stop using mode_config.mutex for internals >> drm/fb-helper: Split dpms handling into legacy and atomic paths >> >> Thierry Reding (5): >> drm/fb-helper: Push down modeset lock into FB helpers >> drm/fb-helper: Add top-level lock >> drm/fb-helper: Support deferred setup >> drm/exynos: Remove custom FB helper deferred setup >> drm/hisilicon: Remove custom FB helper deferred setup >> >> drivers/gpu/drm/drm_fb_helper.c | 361 ++++++++++++++++++------ >> drivers/gpu/drm/drm_vblank.c | 2 +- >> drivers/gpu/drm/exynos/exynos_drm_drv.c | 6 +- >> drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 26 +- >> drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 21 +- >> drivers/gpu/drm/i915/intel_dp_mst.c | 43 +-- >> drivers/gpu/drm/radeon/radeon_dp_mst.c | 7 - >> include/drm/drm_fb_helper.h | 42 ++- >> 8 files changed, 336 insertions(+), 172 deletions(-) >> >> -- >> 2.11.0 >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > _ > _|_|_ > ('_') > (⊃ )⊃ > |_|_| -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-06-23 7:38 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-06-21 18:28 Daniel Vetter 2017-06-21 18:28 ` [PATCH 01/12] drm/fb-helper: Push down modeset lock into FB helpers Daniel Vetter 2017-06-21 18:28 ` [PATCH 02/12] drm/i915: Drop FBDEV #ifdev in mst code Daniel Vetter 2017-06-21 18:28 ` [PATCH 03/12] drm/fb-helper: Add top-level lock Daniel Vetter 2017-06-21 18:28 ` [PATCH 04/12] drm/fb-helper: Push locking in fb_is_bound Daniel Vetter 2017-06-21 18:28 ` [PATCH 05/12] drm/fb-helper: Drop locking from the vsync wait ioctl code Daniel Vetter 2017-06-21 18:28 ` [PATCH 06/12] drm/fb-helper: Push locking into pan_display_atomic|legacy Daniel Vetter 2017-06-21 18:28 ` [PATCH 07/12] drm/fb-helper: Push locking into restore_fbdev_mode_atomic|legacy Daniel Vetter 2017-06-21 18:28 ` [PATCH 08/12] drm/fb-helper: Stop using mode_config.mutex for internals Daniel Vetter 2017-06-21 18:28 ` [PATCH 09/12] drm/fb-helper: Split dpms handling into legacy and atomic paths Daniel Vetter 2017-06-22 10:24 ` Peter Rosin 2017-06-21 18:28 ` [PATCH 10/12] drm/fb-helper: Support deferred setup Daniel Vetter 2017-06-23 13:31 ` [PATCH] " Daniel Vetter 2017-06-21 18:28 ` [PATCH 11/12] drm/exynos: Remove custom FB helper " Daniel Vetter 2017-06-21 18:28 ` [PATCH 12/12] drm/hisilicon: " Daniel Vetter 2017-06-21 18:48 ` ✓ Fi.CI.BAT: success for fbdev helper locking rework and " Patchwork 2017-06-21 23:01 ` [PATCH 00/12] " John Stultz 2017-06-22 14:54 ` Liviu Dudau 2017-06-23 7:38 ` Daniel Vetter [this message] 2017-06-23 12:34 ` Liviu Dudau 2017-06-23 14:09 ` ✓ Fi.CI.BAT: success for fbdev helper locking rework and deferred setup (rev2) Patchwork
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=CAKMK7uHFrFO61kTHZGTsemBKoZRrshmAr14MJFUF+ffOjyQ+xA@mail.gmail.com \ --to=daniel.vetter@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ --cc=liviu@dudau.co.uk \ --cc=treding@nvidia.com \ --subject='Re: [PATCH 00/12] fbdev helper locking rework and deferred setup' \ /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
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.