[PATCH 20/34] drm/doc: Repleace LOCKING kerneldoc sections in drm_modes.c

Daniel Vetter daniel.vetter at ffwll.ch
Sun Mar 23 01:19:59 PDT 2014


On Sat, Mar 22, 2014 at 7:45 AM, Ben Widawsky <ben at bwidawsk.net> wrote:
> On Thu, Mar 20, 2014 at 11:31:26AM +1000, Dave Airlie wrote:
>> On Tue, Mar 11, 2014 at 8:30 PM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
>> > There's not really any value in stating that no locking is needed. And
>> > even if the comment is useful, a check for the right mutex at the
>> > beginning of the function is better since that can't be ingored as
>> > easily as a bit of documentation.
>> >
>> > Note that drm_mode_probed_add in drm_crtc.c is also changed, the next
>> > patch will move this into drm_modes.c
>> >
>> > v2: Don't add locking WARN_ONs where it is not strictly required (i.e.
>> > the two functions to validate/prune mode lists).
>>
>> This made radeon blow up hard, I kinda expect other drivers also,
>>
>>
>> >Mar 20 01:14:21 crydee kernel: ------------[ cut here ]------------
>> Mar 20 01:14:21 crydee kernel: WARNING: CPU: 3 PID: 882 at
>> /home/airlied/kernel/linux-2.6/drivers/gpu/drm/drm_crtc.c:94
>> drm_warn_on_modeset_not_all_locked+0x48/0x76 [drm]()
>> Mar 20 01:14:21 crydee kernel: Modules linked in: firewire_ohci
>> firewire_core crc_itu_t ehci_pci ohci_pci ehci_hcd ohci_hcd radeon(+)
>> hwmon i2c_algo_bit drm_kms_helper ttm drm i2c_core
>> Mar 20 01:14:21 crydee kernel: CPU: 3 PID: 882 Comm: systemd-udevd Not
>> tainted 3.14.0-rc7+ #67
>> Mar 20 01:14:21 crydee kernel: Hardware name: Gigabyte Technology Co.,
>> Ltd. GA-A75M-UD2H/GA-A75M-UD2H, BIOS F4 09/16/2011
>> Mar 20 01:14:21 crydee kernel:  0000000000000000 ffff88022311f9c8
>> ffffffff814b5b21 0000000000000000
>> Mar 20 01:14:21 crydee kernel:  ffff88022311fa00 ffffffff81039e11
>> ffffffffa001882f ffff880036b92000
>> Mar 20 01:14:21 crydee kernel:  ffff880224c85000 ffff880224c85690
>> 0000000000000000 ffff88022311fa10
>> Mar 20 01:14:21 crydee kernel: Call Trace:
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff814b5b21>] dump_stack+0x4d/0x66
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81039e11>]
>> warn_slowpath_common+0x7a/0x93
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa001882f>] ?
>> drm_warn_on_modeset_not_all_locked+0x48/0x76 [drm]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81039ec9>]
>> warn_slowpath_null+0x15/0x17
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa001882f>]
>> drm_warn_on_modeset_not_all_locked+0x48/0x76 [drm]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa00853b4>]
>> drm_helper_disable_unused_functions+0x11/0x103 [drm_kms_helper]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa00c39ed>]
>> radeon_fbdev_init+0xb2/0xcf [radeon]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa00bf623>]
>> radeon_modeset_init+0x763/0x951 [radeon]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa00a21f3>]
>> radeon_driver_load_kms+0xc5/0x171 [radeon]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa0013c53>]
>> drm_dev_register+0x7f/0xf8 [drm]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa0015e12>]
>> drm_get_pci_dev+0xfe/0x1c8 [drm]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81078ac0>] ? trace_hardirqs_on+0xd/0xf
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa009f341>]
>> radeon_pci_probe+0xa8/0xaf [radeon]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81285376>] local_pci_probe+0x38/0x7d
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81285481>] pci_device_probe+0xc6/0xec
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff813149a5>]
>> driver_probe_device+0x98/0x1b3
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81314b54>] __driver_attach+0x5c/0x7e
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81314af8>] ? __device_attach+0x38/0x38
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff813130ae>] bus_for_each_dev+0x79/0x83
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff8131452c>] driver_attach+0x19/0x1b
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff813141ee>] bus_add_driver+0x109/0x1d3
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81315095>] driver_register+0x89/0xc5
>> Mar 20 01:14:21 crydee kernel:  [<ffffffff81284acd>]
>> __pci_register_driver+0x5b/0x5e
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa01c1000>] ? 0xffffffffa01c0fff
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa0015f45>]
>> drm_pci_init+0x69/0xec [drm]
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa01c1000>] ? 0xffffffffa01c0fff
>> Mar 20 01:14:21 crydee kernel:  [<ffffffffa01c1097>]
>> radeon_init+0x97/0xb5 [radeon]
>>
>> Dave.
>
> i915 gets 3 distinct WARNs from this patch.

You've tested with latest -nightly? Should all be addressed now for
i915, one patch in dinq and 3 in drm-next. If not then please show the
remaining backtraces.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list