From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750989AbdAQIc6 (ORCPT ); Tue, 17 Jan 2017 03:32:58 -0500 Received: from regular1.263xmail.com ([211.150.99.132]:33580 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750787AbdAQIc4 (ORCPT ); Tue, 17 Jan 2017 03:32:56 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-RL-SENDER: mark.yao@rock-chips.com X-FST-TO: ayaka@soulik.info X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: mark.yao@rock-chips.com X-UNIQUE-TAG: <1dff96b1ab711968f3da04a1bd49070d> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: drm: rockchip: CONFIG_DRM_FBDEV_EMULATION will crash the HDMI down sometimes To: Randy Li References: Cc: airlied@linux.ie, heiko@sntech.de, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, "ayaka@soulik.info" From: Mark yao Message-ID: <587DD4E3.5070202@rock-chips.com> Date: Tue, 17 Jan 2017 16:25:07 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org static void vop_plane_atomic_update(struct drm_plane *plane, struct drm_plane_state *old_state) { if (WARN_ON(!vop->is_enabled)) return; The issues seems vop is not enable. but commit planes is using DRM_PLANE_COMMIT_ACTIVE_ONLY... Hi Randy Can you add some print for this bug: 1, I think vop_crtc_enable function should be call before vop_plane_atomic_update, you can add some print to verified it. 2, also add a trace on vop_crtc_disable. 3, print the status of crtc->state->active and plane_crtc_active(plane->state) when bug happen. Thanks. On 2017年01月17日 15:58, Randy Li wrote: > Hello: > I want to enable the video output at RK3288 Firefly board, but I > found if I enable CONFIG_DRM_FBDEV_EMULATION, the HDMI would crash > down sometimes but sometimes it works. After disable that opinion, I > never meet a problem. I have not verified it with eDP as I meet a big > problem in there. > > [ OK ] Stopped LSB: Load kernel modules needed to enable cpufreq > scaling. > [ 33.282843] [drm:drm_atomic_helper_commit_cleanup_done > [drm_kms_helper]] *ERROR* [CRTC:27:crtc-0] flip_done timed out > [ 33.361489] ------------[ cut here ]------------ > [ 33.366251] WARNING: CPU: 2 PID: 476 at > /home/ayaka/workspace/rk3288/kernel/linux-kernel/drivers/gpu/drm/rockchip/rockchip_drm$ > vop.c:730 vop_plane_atomic_update+0x1218/0x177c [rockchipdrm] > [ 33.383071] Modules linked in: rockchip_vop_reg rockchipdrm > dw_hdmi_rockchip dw_hdmi drm_kms_helper cfbfillrect mali_kbase sys$ > opyarea gpio_ir_recv cfbimgblt sysfillrect rc_core dwc2 sysimgblt > fb_sys_fops panel_simple cfbcopyarea rk_crypto drm nvmem_rockch$ > p_efuse udc_core des_generic phy_rockchip_usb pwm_rockchip pwm_bl > backlight fb > [ 33.412751] CPU: 2 PID: 476 Comm: X Tainted: G W > 4.10.0-rc3-next-20170111+ #148 > [ 33.421182] Hardware name: Rockchip (Device Tree) > [ 33.425905] [] (unwind_backtrace) from [] > (show_stack+0x20/0x24) > [ 33.433652] [] (show_stack) from [] > (dump_stack+0x8c/0xa0) > [ 33.440881] [] (dump_stack) from [] > (__warn+0xf8/0x110) > [ 33.447839] [] (__warn) from [] > (warn_slowpath_null+0x30/0x38) > [ 33.455431] [] (warn_slowpath_null) from [] > (vop_plane_atomic_update+0x1218/0x177c [rockchipdrm]) > [ 33.466126] [] (vop_plane_atomic_update [rockchipdrm]) > from [] (drm_atomic_helper_commit_planes+0xd4/0x2b8 > [drm_kms_helper]) > [ 33.479160] [] (drm_atomic_helper_commit_planes > [drm_kms_helper]) from [] (rockchip_atomic_commit_tail+0x4$ > /0x68 [rockchipdrm]) > [ 33.492451] [] (rockchip_atomic_commit_tail > [rockchipdrm]) from [] (commit_tail+0x50/0xb8 [drm_kms_helper]$ > [ 33.504061] [] (commit_tail [drm_kms_helper]) from > [] (drm_atomic_helper_commit+0xd4/0x13c [drm_kms_helper$ > ) > [ 33.515850] [] (drm_atomic_helper_commit > [drm_kms_helper]) from [] (drm_atomic_commit+0x5c/0x68 [drm]) > [ 33.527126] [] (drm_atomic_commit [drm]) from > [] (restore_fbdev_mode+0x160/0x300 [drm_kms_helper]) > [ 33.537952] [] (restore_fbdev_mode [drm_kms_helper]) from > [] (drm_fb_helper_restore_fbdev_mode_unlocked+0x$ > 0/0x84 [drm_kms_helper]) > [ 33.551590] [] (drm_fb_helper_restore_fbdev_mode_unlocked > [drm_kms_helper]) from [] (rockchip_drm_lastclos$ > +0x1c/0x20 [rockchipdrm]) > [ 33.565404] [] (rockchip_drm_lastclose [rockchipdrm]) > from [] (drm_lastclose+0x48/0xd8 [drm]) > [ 33.575977] [] (drm_lastclose [drm]) from [] > (drm_release+0x2c4/0x36c [drm]) > [ 33.584927] [] (drm_release [drm]) from [] > (__fput+0x9c/0x1e8) > [ 33.592501] [] (__fput) from [] > (____fput+0x18/0x1c) > [ 33.599206] [] (____fput) from [] > (task_work_run+0xcc/0xf0) > [ 33.606519] [] (task_work_run) from [] > (do_work_pending+0xd0/0xd4) > [ 33.614439] [] (do_work_pending) from [] > (slow_work_pending+0xc/0x20) > [ 33.622674] ---[ end trace 95ed2c3f167607d2 ]--- > [ 33.627327] ------------[ cut here ]------------ > [ 33.632013] WARNING: CPU: 2 PID: 476 at > /home/ayaka/workspace/rk3288/kernel/linux-kernel/drivers/gpu/drm/rockchip/rockchip_drm_ > vop.c:1017 vop_crtc_atomic_flush+0x27c/0x2b8 [rockchipdrm] > [ 33.648542] Modules linked in: rockchip_vop_reg rockchipdrm > dw_hdmi_rockchip dw_hdmi drm_kms_helper cfbfillrect mali_kbase sysc > opyarea gpio_ir_recv cfbimgblt sysfillrect rc_core dwc2 sysimgblt > fb_sys_fops panel_simple cfbcopyarea rk_crypto drm nvmem_rockchi > p_efuse udc_core des_generic phy_rockchip_usb pwm_rockchip pwm_bl > backlight fb > [ 33.678191] CPU: 2 PID: 476 Comm: X Tainted: G W > 4.10.0-rc3-next-20170111+ #148 > [ 33.686621] Hardware name: Rockchip (Device Tree) > [ 33.691339] [] (unwind_backtrace) from [] > (show_stack+0x20/0x24) > [ 33.699084] [] (show_stack) from [] > (dump_stack+0x8c/0xa0) > [ 33.706309] [] (dump_stack) from [] > (__warn+0xf8/0x110) > [ 33.713275] [] (__warn) from [] > (warn_slowpath_null+0x30/0x38) > [ 33.720864] [] (warn_slowpath_null) from [] > (vop_crtc_atomic_flush+0x27c/0x2b8 [rockchipdrm]) > [ 33.731208] [] (vop_crtc_atomic_flush [rockchipdrm]) from > [] (drm_atomic_helper_commit_planes+0x1d0/0x2b8 [ > drm_kms_helper]) > [ 33.744159] [] (drm_atomic_helper_commit_planes > [drm_kms_helper]) from [] (rockchip_atomic_commit_tail+0x44 > /0x68 [rockchipdrm]) > [ 33.757451] [] (rockchip_atomic_commit_tail > [rockchipdrm]) from [] (commit_tail+0x50/0xb8 [drm_kms_helper]) > [ 33.769064] [] (commit_tail [drm_kms_helper]) from > [] (drm_atomic_helper_commit+0xd4/0x13c [drm_kms_helper] > ) > [ 33.780861] [] (drm_atomic_helper_commit > [drm_kms_helper]) from [] (drm_atomic_commit+0x5c/0x68 [drm]) > [ 33.792131] [] (drm_atomic_commit [drm]) from > [] (restore_fbdev_mode+0x160/0x300 [drm_kms_helper]) > [ 33.802956] [] (restore_fbdev_mode [drm_kms_helper]) from > [] (drm_fb_helper_restore_fbdev_mode_unlocked+0x4 > 0/0x84 [drm_kms_helper]) > [ 33.816590] [] (drm_fb_helper_restore_fbdev_mode_unlocked > [drm_kms_helper]) from [] (rockchip_drm_lastclose > +0x1c/0x20 [rockchipdrm]) > [ 33.830406] [] (rockchip_drm_lastclose [rockchipdrm]) > from [] (drm_lastclose+0x48/0xd8 [drm]) > [ 33.840975] [] (drm_lastclose [drm]) from [] > (drm_release+0x2c4/0x36c [drm]) > [ 33.849923] [] (drm_release [drm]) from [] > (__fput+0x9c/0x1e8) > [ 33.857497] [] (__fput) from [] > (____fput+0x18/0x1c) > [ 33.864201] [] (____fput) from [] > (task_work_run+0xcc/0xf0) > [ 33.871514] [] (task_work_run) from [] > (do_work_pending+0xd0/0xd4) > [ 33.879434] [] (do_work_pending) from [] > (slow_work_pending+0xc/0x20) > [ 33.887671] ---[ end trace 95ed2c3f167607d3 ]--- > [ 33.892322] ------------[ cut here ]------------ > [ 33.897058] WARNING: CPU: 2 PID: 476 at > /home/ayaka/workspace/rk3288/kernel/linux-kernel/drivers/gpu/drm/drm_atomic_helper.c:15 > 63 drm_atomic_helper_commit_hw_done+0xc0/0xc8 [drm_kms_helper] > [ 33.913937] Modules linked in: rockchip_vop_reg rockchipdrm > dw_hdmi_rockchip dw_hdmi drm_kms_helper cfbfillrect mali_kbase sysc > opyarea gpio_ir_recv cfbimgblt sysfillrect rc_core dwc2 sysimgblt > fb_sys_fops panel_simple cfbcopyarea rk_crypto drm nvmem_rockchi > p_efuse udc_core des_generic phy_rockchip_usb pwm_rockchip pwm_bl > backlight fb > [ 33.943581] CPU: 2 PID: 476 Comm: X Tainted: G W > 4.10.0-rc3-next-20170111+ #148 > [ 33.952010] Hardware name: Rockchip (Device Tree) > [ 33.956726] [] (unwind_backtrace) from [] > (show_stack+0x20/0x24) > [ 33.964470] [] (show_stack) from [] > (dump_stack+0x8c/0xa0) > [ 33.971695] [] (dump_stack) from [] > (__warn+0xf8/0x110) > [ 33.978661] [] (__warn) from [] > (warn_slowpath_null+0x30/0x38) > [ 33.986301] [] (warn_slowpath_null) from [] > (drm_atomic_helper_commit_hw_done+0xc0/0xc8 [drm_kms_helper]) > [ 33.997686] [] (drm_atomic_helper_commit_hw_done > [drm_kms_helper]) from [] (rockchip_atomic_commit_tail+0x4 > c/0x68 [rockchipdrm]) > [ 34.011062] [] (rockchip_atomic_commit_tail > [rockchipdrm]) from [] (commit_tail+0x50/0xb8 [drm_kms_helper]) > [ 34.022670] [] (commit_tail [drm_kms_helper]) from > [] (drm_atomic_helper_commit+0xd4/0x13c [drm_kms_helper] > ) > [ 34.034458] [] (drm_atomic_helper_commit > [drm_kms_helper]) from [] (drm_atomic_commit+0x5c/0x68 [drm]) > [ 34.045728] [] (drm_atomic_commit [drm]) from > [] (restore_fbdev_mode+0x160/0x300 [drm_kms_helper]) > [ 34.056555] [] (restore_fbdev_mode [drm_kms_helper]) from > [] (drm_fb_helper_restore_fbdev_mode_unlocked+0x4 > 0/0x84 [drm_kms_helper]) > [ 34.070190] [] (drm_fb_helper_restore_fbdev_mode_unlocked > [drm_kms_helper]) from [] (rockchip_drm_lastclose > +0x1c/0x20 [rockchipdrm]) > [ 34.084005] [] (rockchip_drm_lastclose [rockchipdrm]) > from [] (drm_lastclose+0x48/0xd8 [drm]) > [ 34.094581] [] (drm_lastclose [drm]) from [] > (drm_release+0x2c4/0x36c [drm]) > [ 34.103526] [] (drm_release [drm]) from [] > (__fput+0x9c/0x1e8) > [ 34.111099] [] (__fput) from [] > (____fput+0x18/0x1c) > [ 34.117802] [] (____fput) from [] > (task_work_run+0xcc/0xf0) > [ 34.125115] [] (task_work_run) from [] > (do_work_pending+0xd0/0xd4) > [ 34.133034] [] (do_work_pending) from [] > (slow_work_pending+0xc/0x20) > [ 34.141250] ---[ end trace 95ed2c3f167607d4 ]--- > [ 34.145921] ------------[ cut here ]------------ > [ 34.150566] WARNING: CPU: 2 PID: 476 at > /home/ayaka/workspace/rk3288/kernel/linux-kernel/drivers/gpu/drm/rockchip/rockchip_drm_ > vop.c:828 vop_crtc_enable_vblank+0x1ac/0x1b4 [rockchipdrm] > [ 34.167054] Modules linked in: rockchip_vop_reg rockchipdrm > dw_hdmi_rockchip dw_hdmi drm_kms_helper cfbfillrect mali_kbase sysc > opyarea gpio_ir_recv cfbimgblt sysfillrect rc_core dwc2 sysimgblt > fb_sys_fops panel_simple cfbcopyarea rk_crypto drm nvmem_rockchi > p_efuse udc_core des_generic phy_rockchip_usb pwm_rockchip pwm_bl > backlight fb > [ 34.196651] CPU: 2 PID: 476 Comm: X Tainted: G W > 4.10.0-rc3-next-20170111+ #148 > [ 34.205078] Hardware name: Rockchip (Device Tree) > [ 34.209794] [] (unwind_backtrace) from [] > (show_stack+0x20/0x24) > [ 34.217538] [] (show_stack) from [] > (dump_stack+0x8c/0xa0) > [ 34.224763] [] (dump_stack) from [] > (__warn+0xf8/0x110) > [ 34.231729] [] (__warn) from [] > (warn_slowpath_null+0x30/0x38) > [ 34.239318] [] (warn_slowpath_null) from [] > (vop_crtc_enable_vblank+0x1ac/0x1b4 [rockchipdrm]) > [ 34.249693] [] (vop_crtc_enable_vblank [rockchipdrm]) > from [] (rockchip_drm_crtc_enable_vblank+0x48/0x54 [r > ockchipdrm]) > [ 34.262378] [] (rockchip_drm_crtc_enable_vblank > [rockchipdrm]) from [] (drm_vblank_enable+0x8c/0xf8 [drm]) > [ 34.274077] [] (drm_vblank_enable [drm]) from > [] (drm_vblank_get+0xc8/0xf0 [drm]) > [ 34.283616] [] (drm_vblank_get [drm]) from [] > (drm_crtc_vblank_get+0x20/0x24 [drm]) > [ 34.293239] [] (drm_crtc_vblank_get [drm]) from > [] (drm_atomic_helper_wait_for_vblanks.part.0+0xa8/0x2a8 [d > rm_kms_helper]) > [ 34.306146] [] (drm_atomic_helper_wait_for_vblanks.part.0 > [drm_kms_helper]) from [] (drm_atomic_helper_wait > _for_vblanks+0x24/0x28 [drm_kms_helper]) > [ 34.321176] [] (drm_atomic_helper_wait_for_vblanks > [drm_kms_helper]) from [] (rockchip_atomic_commit_tail+0 > x58/0x68 [rockchipdrm]) > [ 34.334725] [] (rockchip_atomic_commit_tail > [rockchipdrm]) from [] (commit_tail+0x50/0xb8 [drm_kms_helper]) > [ 34.346330] [] (commit_tail [drm_kms_helper]) from > [] (drm_atomic_helper_commit+0xd4/0x13c [drm_kms_helper] > ) > [ 34.358117] [] (drm_atomic_helper_commit > [drm_kms_helper]) from [] (drm_atomic_commit+0x5c/0x68 [drm]) > [ 34.369386] [] (drm_atomic_commit [drm]) from > [] (restore_fbdev_mode+0x160/0x300 [drm_kms_helper]) > [ 34.380209] [] (restore_fbdev_mode [drm_kms_helper]) from > [] (drm_fb_helper_restore_fbdev_mode_unlocked+0x4 > 0/0x84 [drm_kms_helper]) > [ 34.393845] [] (drm_fb_helper_restore_fbdev_mode_unlocked > [drm_kms_helper]) from [] (rockchip_drm_lastclose > +0x1c/0x20 [rockchipdrm]) > [ 34.407664] [] (rockchip_drm_lastclose [rockchipdrm]) > from [] (drm_lastclose+0x48/0xd8 [drm]) > [ 34.418237] [] (drm_lastclose [drm]) from [] > (drm_release+0x2c4/0x36c [drm]) > [ 34.427179] [] (drm_release [drm]) from [] > (__fput+0x9c/0x1e8) > [ 34.434754] [] (__fput) from [] > (____fput+0x18/0x1c) > [ 34.441458] [] (____fput) from [] > (task_work_run+0xcc/0xf0) > [ 34.448769] [] (task_work_run) from [] > (do_work_pending+0xd0/0xd4) > [ 34.456688] [] (do_work_pending) from [] > (slow_work_pending+0xc/0x20) > [ 34.464856] ---[ end trace 95ed2c3f167607d5 ]--- -- Mark Yao