From: Mark yao <mark.yao@rock-chips.com>
To: Thierry Reding <thierry.reding@gmail.com>,
Liviu Dudau <Liviu.Dudau@arm.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
DRI devel <dri-devel@lists.freedesktop.org>
Subject: Re: drm: Bogus WARN() in drm_atomic_helper_update_legacy_modeset_state() ?
Date: Thu, 12 Nov 2015 14:34:57 +0800 [thread overview]
Message-ID: <56443311.2020902@rock-chips.com> (raw)
In-Reply-To: <56443151.3020508@rock-chips.com>
[-- Attachment #1.1: Type: text/plain, Size: 12243 bytes --]
On 2015年11月12日 14:27, Mark yao wrote:
> On 2015年11月11日 00:56, Thierry Reding wrote:
>> On Tue, Nov 10, 2015 at 03:01:03PM +0000, Liviu Dudau wrote:
>>> Hello,
>>>
>>> When booting my Juno board with the HDLCD driver that I have converted to
>>> atomic operations I'm getting the following warning:
>> Perhaps you can provide pointers to the source code, that might make it
>> easier for people to spot what's going wrong.
>>
>> Thierry
>>
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
> Hi Thierry
> I encountered the same problem as Liviu.
> I'm coverting rockchip drm to atomic api, when booting with hdmi
> connected, get under warning:
>
> [ 1.300156] WARNING: CPU: 0 PID: 26 at
> drivers/gpu/drm/drm_atomic_helper.c:674
> drm_atomic_helper_update_legacy_modeset_state+0x3c/0x1f8()
> [ 1.300161] Modules linked in:
> [ 1.300171] CPU: 0 PID: 26 Comm: kworker/0:1 Not tainted 4.3.0-rc5+
> #160
> [ 1.300174] Hardware name: Rockchip (Device Tree)
> [ 1.300189] Workqueue: events output_poll_execute
> [ 1.300224] [<c0015e54>] (unwind_backtrace) from [<c00123cc>]
> (show_stack+0x10/0x14)
> [ 1.300241] [<c00123cc>] (show_stack) from [<c01a5980>]
> (dump_stack+0x6c/0x88)
> [ 1.300255] [<c01a5980>] (dump_stack) from [<c0024050>]
> (warn_slowpath_common+0x80/0xa8)
> [ 1.300265] [<c0024050>] (warn_slowpath_common) from [<c0024090>]
> (warn_slowpath_null+0x18/0x1c)
> [ 1.300277] [<c0024090>] (warn_slowpath_null) from [<c0221184>]
> (drm_atomic_helper_update_legacy_modeset_state+0x3c/0x1f8)
> [ 1.300293] [<c0221184>]
> (drm_atomic_helper_update_legacy_modeset_state) from [<c0221548>]
> (drm_atomic_helper_commit_modeset_disables+0x208/0x364)
> [ 1.300305] [<c0221548>]
> (drm_atomic_helper_commit_modeset_disables) from [<c0222248>]
> (drm_atomic_helper_commit+0xf8/0x140)
> [ 1.300320] [<c0222248>] (drm_atomic_helper_commit) from
> [<c02404cc>] (drm_atomic_commit+0x50/0x60)
> [ 1.300333] [<c02404cc>] (drm_atomic_commit) from [<c0223180>]
> (restore_fbdev_mode+0xf4/0x278)
> [ 1.300345] [<c0223180>] (restore_fbdev_mode) from [<c0224164>]
> (drm_fb_helper_restore_fbdev_mode_unlocked+0x30/0x68)
> [ 1.300357] [<c0224164>]
> (drm_fb_helper_restore_fbdev_mode_unlocked) from [<c02241d8>]
> (drm_fb_helper_set_par+0x3c/0x54)
> [ 1.300368] [<c02241d8>] (drm_fb_helper_set_par) from [<c022411c>]
> (drm_fb_helper_hotplug_event+0xe4/0xfc)
> [ 1.300382] [<c022411c>] (drm_fb_helper_hotplug_event) from
> [<c021ade8>] (drm_kms_helper_hotplug_event+0x24/0x28)
> [ 1.300396] [<c021ade8>] (drm_kms_helper_hotplug_event) from
> [<c021af20>] (output_poll_execute+0x134/0x18c)
> [ 1.300413] [<c021af20>] (output_poll_execute) from [<c00377c0>]
> (process_one_work+0x1e0/0x318)
> [ 1.300426] [<c00377c0>] (process_one_work) from [<c0037c70>]
> (worker_thread+0x378/0x4c4)
> [ 1.300438] [<c0037c70>] (worker_thread) from [<c003c69c>]
> (kthread+0xdc/0xf0)
> [ 1.300450] [<c003c69c>] (kthread) from [<c000f5d8>]
> (ret_from_fork+0x14/0x3c)
>
> I can't found who can set encoder->crtc value before atomic_commit,
> what's going wrong?
>
> --
> Mark Yao
Hi
here is the message before warning happen (filtering by "dmesg |
grep drm"), Hope this helps:
[ 1.245700] [drm:drm_minor_register]
[ 1.245925] [drm:drm_minor_register] new minor registered 64
[ 1.245934] [drm:drm_minor_register]
[ 1.245942] [drm:drm_minor_register]
[ 1.246099] [drm:drm_minor_register] new minor registered 0
[ 1.272968] rockchip-drm display-subsystem: bound ff940000.vop (ops
vop_component_ops)
[ 1.294790] rockchip-drm display-subsystem: bound ff930000.vop (ops
vop_component_ops)
[ 1.295086] rockchip-drm display-subsystem: bound ff980000.hdmi (ops
dw_hdmi_rockchip_ops)
[ 1.295218] [drm:drm_sysfs_connector_add] adding "HDMI-A-1" to sysfs
[ 1.295222] [drm:drm_sysfs_hotplug_event] generating hotplug event
[ 1.295268] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.295270] [drm] No driver support for vblank timestamp query.
[ 1.295290] [drm:drm_helper_probe_single_connector_modes_merge_bits]
[CONNECTOR:29:HDMI-A-1]
[ 1.295304] [drm:drm_helper_probe_single_connector_modes_merge_bits]
[CONNECTOR:29:HDMI-A-1] status updated from 3 to 1
[ 1.295470] [drm:drm_do_probe_ddc_edid] drm: skipping non-existent
adapter rk3x-i2c
[ 1.295513] [drm:drm_mode_debug_printmodeline] Modeline 30:"640x480"
0 25175 640 656 752 800 480 490 492 525 0x40 0xa
[ 1.295518] [drm:drm_mode_prune_invalid] Not using 640x480 mode: BAD
[ 1.295531] [drm:drm_mode_debug_printmodeline] Modeline 33:"848x480"
0 33750 848 864 976 1088 480 486 494 517 0x40 0x5
[ 1.295535] [drm:drm_mode_prune_invalid] Not using 848x480 mode: BAD
[ 1.295543] [drm:drm_helper_probe_single_connector_modes_merge_bits]
[CONNECTOR:29:HDMI-A-1] probed modes :
[ 1.295555] [drm:drm_mode_debug_printmodeline] Modeline 34:"1024x768"
60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 1.295564] [drm:drm_mode_debug_printmodeline] Modeline 32:"800x600"
60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 1.295573] [drm:drm_mode_debug_printmodeline] Modeline 31:"800x600"
56 36000 800 824 896 1024 600 601 603 625 0x40 0x5
[ 1.295581] [drm:drm_setup_crtcs]
[ 1.295594] [drm:drm_enable_connectors] connector 29 enabled? yes
[ 1.295601] [drm:drm_target_preferred] looking for cmdline mode on
connector 29
[ 1.295606] [drm:drm_target_preferred] looking for preferred mode on
connector 29 0
[ 1.295609] [drm:drm_target_preferred] found mode 1024x768
[ 1.295614] [drm:drm_setup_crtcs] picking CRTCs for 4096x4096 config
[ 1.295623] [drm:drm_setup_crtcs] desired mode 1024x768 set on crtc
20 (0,0)
[ 1.299403] [drm:rockchip_drm_fbdev_create] FB [1024x768]-24
kvaddr=f0121000 offset=0 size=3145728
[ 1.299512] [drm:drm_sysfs_hotplug_event] generating hotplug event
[ 1.299540] [drm:drm_fb_helper_hotplug_event]
[ 1.299546] [drm:drm_helper_probe_single_connector_modes_merge_bits]
[CONNECTOR:29:HDMI-A-1]
[ 1.299712] [drm:drm_do_probe_ddc_edid] drm: skipping non-existent
adapter rk3x-i2c
[ 1.299750] [drm:drm_mode_debug_printmodeline] Modeline 35:"640x480"
0 25175 640 656 752 800 480 490 492 525 0x40 0xa
[ 1.299755] [drm:drm_mode_prune_invalid] Not using 640x480 mode: BAD
[ 1.299764] [drm:drm_mode_debug_printmodeline] Modeline 38:"848x480"
0 33750 848 864 976 1088 480 486 494 517 0x40 0x5
[ 1.299769] [drm:drm_mode_prune_invalid] Not using 848x480 mode: BAD
[ 1.299776] [drm:drm_helper_probe_single_connector_modes_merge_bits]
[CONNECTOR:29:HDMI-A-1] probed modes :
[ 1.299786] [drm:drm_mode_debug_printmodeline] Modeline 34:"1024x768"
60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 1.299795] [drm:drm_mode_debug_printmodeline] Modeline 32:"800x600"
60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 1.299804] [drm:drm_mode_debug_printmodeline] Modeline 31:"800x600"
56 36000 800 824 896 1024 600 601 603 625 0x40 0x5
[ 1.299811] [drm:drm_setup_crtcs]
[ 1.299818] [drm:drm_enable_connectors] connector 29 enabled? yes
[ 1.299822] [drm:drm_target_preferred] looking for cmdline mode on
connector 29
[ 1.299827] [drm:drm_target_preferred] looking for preferred mode on
connector 29 0
[ 1.299831] [drm:drm_target_preferred] found mode 1024x768
[ 1.299836] [drm:drm_setup_crtcs] picking CRTCs for 4096x4096 config
[ 1.299842] [drm:drm_setup_crtcs] desired mode 1024x768 set on crtc
20 (0,0)
[ 1.299857] [drm:drm_atomic_state_init] Allocated atomic state ee38ebc0
[ 1.299868] [drm:drm_atomic_get_plane_state] Added [PLANE:18]
ee38eac0 state to ee38ebc0
[ 1.299875] [drm:drm_atomic_get_plane_state] Added [PLANE:19]
ee38ea80 state to ee38ebc0
[ 1.299880] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38ea80 to [NOCRTC]
[ 1.299885] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38ea80
[ 1.299892] [drm:drm_atomic_get_plane_state] Added [PLANE:21]
ee38ea40 state to ee38ebc0
[ 1.299897] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38ea40 to [NOCRTC]
[ 1.299901] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38ea40
[ 1.299907] [drm:drm_atomic_get_plane_state] Added [PLANE:22]
ee38ea00 state to ee38ebc0
[ 1.299911] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38ea00 to [NOCRTC]
[ 1.299916] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38ea00
[ 1.299922] [drm:drm_atomic_get_plane_state] Added [PLANE:23]
ee38e9c0 state to ee38ebc0
[ 1.299929] [drm:drm_atomic_get_plane_state] Added [PLANE:24]
ee38e980 state to ee38ebc0
[ 1.299933] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38e980 to [NOCRTC]
[ 1.299937] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38e980
[ 1.299943] [drm:drm_atomic_get_plane_state] Added [PLANE:26]
ee38e940 state to ee38ebc0
[ 1.299947] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38e940 to [NOCRTC]
[ 1.299951] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38e940
[ 1.299958] [drm:drm_atomic_get_plane_state] Added [PLANE:27]
ee38e900 state to ee38ebc0
[ 1.299962] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38e900 to [NOCRTC]
[ 1.299966] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38e900
[ 1.299975] [drm:drm_atomic_get_crtc_state] Added [CRTC:20] ee340000
state to ee38ebc0
[ 1.299985] [drm:drm_atomic_set_mode_for_crtc] Set [MODE:1024x768]
for CRTC state ee340000
[ 1.299990] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38eac0 to [CRTC:20]
[ 1.299995] [drm:drm_framebuffer_reference] ee20f640: FB ID: 33 (1)
[ 1.300000] [drm:drm_atomic_set_fb_for_plane] Set [FB:33] for plane
state ee38eac0
[ 1.300008] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:29]
ee38e8c0 state to ee38ebc0
[ 1.300015] [drm:drm_atomic_add_affected_connectors] Adding all
current connectors for [CRTC:20] to ee38ebc0
[ 1.300021] [drm:drm_atomic_set_crtc_for_connector] Link connector
state ee38e8c0 to [CRTC:20]
[ 1.300033] [drm:drm_atomic_get_crtc_state] Added [CRTC:25] ee393e00
state to ee38ebc0
[ 1.300038] [drm:drm_atomic_set_mode_for_crtc] Set [NOMODE] for CRTC
state ee393e00
[ 1.300043] [drm:drm_atomic_set_crtc_for_plane] Link plane state
ee38e9c0 to [NOCRTC]
[ 1.300047] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for plane
state ee38e9c0
[ 1.300053] [drm:drm_atomic_add_affected_connectors] Adding all
current connectors for [CRTC:20] to ee38ebc0
[ 1.300059] [drm:drm_atomic_add_affected_connectors] Adding all
current connectors for [CRTC:25] to ee38ebc0
[ 1.300067] [drm:drm_atomic_connectors_for_crtc] State ee38ebc0 has 1
connectors for [CRTC:20]
[ 1.300071] [drm:drm_atomic_check_only] checking ee38ebc0
[ 1.300079] [drm:drm_atomic_helper_check_modeset] [CRTC:20] mode changed
[ 1.300083] [drm:drm_atomic_helper_check_modeset] [CRTC:20] enable
changed
[ 1.300088] [drm:update_connector_routing] Updating routing for
[CONNECTOR:29:HDMI-A-1]
[ 1.300095] [drm:update_connector_routing] [CONNECTOR:29:HDMI-A-1]
using [ENCODER:28:TMDS-28] on [CRTC:20]
[ 1.300100] [drm:drm_atomic_helper_check_modeset] [CRTC:20] active
changed
[ 1.300105] [drm:drm_atomic_helper_check_modeset] [CRTC:20] needs all
connectors, enable: y, active: y
[ 1.300111] [drm:drm_atomic_add_affected_connectors] Adding all
current connectors for [CRTC:20] to ee38ebc0
[ 1.300117] [drm:drm_atomic_connectors_for_crtc] State ee38ebc0 has 1
connectors for [CRTC:20]
[ 1.300130] [drm:drm_atomic_commit] commiting ee38ebc0
[ 1.300156] WARNING: CPU: 0 PID: 26 at
drivers/gpu/drm/drm_atomic_helper.c:674
drm_atomic_helper_update_legacy_modeset_state+0x3c/0x1f8()
--
Mark Yao
[-- Attachment #1.2: Type: text/html, Size: 15437 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2015-11-12 6:35 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-10 15:01 drm: Bogus WARN() in drm_atomic_helper_update_legacy_modeset_state() ? Liviu Dudau
2015-11-10 15:01 ` Liviu Dudau
2015-11-10 16:56 ` Thierry Reding
2015-11-10 16:56 ` Thierry Reding
2015-11-11 16:09 ` Liviu Dudau
2015-11-11 16:09 ` Liviu Dudau
2015-11-12 12:16 ` Thierry Reding
2015-11-12 12:16 ` Thierry Reding
2015-11-12 13:57 ` Liviu Dudau
2015-11-12 13:57 ` Liviu Dudau
2015-11-12 16:28 ` Thierry Reding
2015-11-12 16:28 ` Thierry Reding
2015-11-16 16:30 ` Daniel Vetter
2015-11-16 16:30 ` Daniel Vetter
2015-11-12 6:27 ` Mark yao
2015-11-12 6:34 ` Mark yao [this message]
2015-11-12 10:34 ` Liviu Dudau
2015-11-12 10:34 ` Liviu Dudau
2015-11-12 10:52 ` Mark yao
2015-11-12 10:52 ` Mark yao
2015-11-12 12:26 ` Thierry Reding
2015-11-12 12:26 ` Thierry Reding
2015-11-12 8:32 ` Mark yao
2015-11-12 10:36 ` Liviu Dudau
2015-11-12 10:36 ` Liviu Dudau
2015-11-12 10:49 ` Mark yao
2015-11-12 10:49 ` Mark yao
2015-11-12 13:34 ` Thierry Reding
2015-11-12 13:34 ` Thierry Reding
2015-11-12 14:03 ` Liviu Dudau
2015-11-12 16:12 ` Thierry Reding
2015-11-12 16:12 ` Thierry Reding
2015-11-12 16:48 ` Liviu Dudau
2015-11-12 16:48 ` Liviu Dudau
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=56443311.2020902@rock-chips.com \
--to=mark.yao@rock-chips.com \
--cc=Liviu.Dudau@arm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--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 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.