Re: problem with 731c7d3, "main drm pull request for 4.8"

From: Mike Marshall
Date: Sat Aug 06 2016 - 17:59:05 EST


Hello everyone...

I was out of the office yesterday, so I came in today to do the bisect...

# git bisect bad
c61b93fe51b1330cfc4d73084b924931bd65c8f0 is the first bad commit
commit c61b93fe51b1330cfc4d73084b924931bd65c8f0
Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Date: Tue Jun 7 13:47:56 2016 +0200

drm/atomic: Fix remaining places where !funcs->best_encoder is valid

Adapt drm_pick_crtcs() and update_connector_routing() to fallback to
drm_atomic_helper_best_encoder() if funcs->best_encoder() is NULL so
that DRM drivers can leave this hook unassigned if they know they want
to use drm_atomic_helper_best_encoder().

Update the vtables documentation accordingly.

Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Link: http://patchwork.freedesktop.org/patch/msgid/1465300095-16971-2-git-send-email-boris.brezillon@xxxxxxxxxxxxxxxxxx

:040000 040000 e654349841a764813d619343df5c2deda93148bf
83fdb89bb101b2f8b22c001f9cc8cd47cbad097a M drivers
:040000 040000 bfd0ebacfefef860a715434678f4606fd94deb08
cc108eafc28a85299aacb9895f9a1a50e0fa78fc M include

On Fri, Aug 5, 2016 at 5:13 AM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
> On Thu, Aug 04, 2016 at 02:08:46PM -0400, Mike Marshall wrote:
>> [ 1.291797] [drm] Initialized drm 1.1.0 20060810
>> [ 1.352761] [TTM] Zone kernel: Available graphics memory: 502128 kiB
>> [ 1.353248] [TTM] Initializing pool allocator
>> [ 1.353660] [TTM] Initializing DMA pool allocator
>> [ 1.355491] BUG: unable to handle kernel NULL pointer dereference
>> at 0000000000000018
>> [ 1.356038] IP: [<ffffffffa00c9875>] drm_pick_crtcs+0x125/0x280
>> [drm_kms_helper]
>> [ 1.356038] PGD 0
>> [ 1.356038] Oops: 0000 [#1] SMP
>> [ 1.356038] Modules linked in: cirrus(+) drm_kms_helper ttm drm
>> i2c_core ata_generic pata_acpi
>> [ 1.356038] CPU: 0 PID: 181 Comm: systemd-udevd Not tainted
>> 4.7.0-00810-gc1ece76 #9
>> [ 1.356038] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007
>> [ 1.356038] task: ffff880036f40000 task.stack: ffff880036fc0000
>> [ 1.356038] RIP: 0010:[<ffffffffa00c9875>] [<ffffffffa00c9875>]
>> drm_pick_crtcs+0x125/0x280 [drm_kms_helper]
>> [ 1.356038] RSP: 0018:ffff880036fc3898 EFLAGS: 00010217
>> [ 1.356038] RAX: ffffffffa00208f0 RBX: 0000000000000000 RCX: 0000000000001000
>> [ 1.356038] RDX: 0000000000000000 RSI: ffffffff81c574c0 RDI: ffff880037172800
>> [ 1.356038] RBP: ffff880036fc3900 R08: 000000000001cc90 R09: ffff880036d829f8
>> [ 1.356038] R10: ffff88003e001c80 R11: ffff880036d829d8 R12: ffff880037172400
>> [ 1.356038] R13: 0000000000001000 R14: ffff880037172800 R15: ffff880036d829d0
>> [ 1.356038] FS: 00007f907d15d880(0000) GS:ffff88003fc00000(0000)
>> knlGS:0000000000000000
>> [ 1.356038] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [ 1.356038] CR2: 0000000000000018 CR3: 0000000036f6d000 CR4: 00000000000006f0
>> [ 1.356038] Stack:
>> [ 1.356038] 0000000000000008 ffff880036d829e0 ffff880036d829d8
>> 0000000000000001
>> [ 1.356038] 0000000000000000 0000100000000003 ffff880036d829e0
>> ffff880036d829f8
>> [ 1.356038] 0000000000000001 ffff880037172400 0000000000000001
>> ffff880036d829d0
>> [ 1.356038] Call Trace:
>> [ 1.356038] [<ffffffffa00ca199>] drm_setup_crtcs+0x339/0xa00
>> [drm_kms_helper]
>> [ 1.356038] [<ffffffff810f78d6>] ? mark_held_locks+0x66/0x90
>> [ 1.356038] [<ffffffff817f2149>] ? __mutex_unlock_slowpath+0xd9/0x1a0
>> [ 1.356038] [<ffffffffa00caa91>]
>> drm_fb_helper_initial_config+0x81/0x3a8 [drm_kms_helper]
>> [ 1.356038] [<ffffffffa00475c6>] ? drm_modeset_unlock_all+0x66/0xc0 [drm]
>> [ 1.356038] [<ffffffffa0021df0>] cirrus_fbdev_init+0xa0/0xb0 [cirrus]
>> [ 1.356038] [<ffffffffa002148b>] cirrus_modeset_init+0x18b/0x1e0 [cirrus]
>> [ 1.356038] [<ffffffffa002042c>] cirrus_driver_load+0xbc/0x100 [cirrus]
>> [ 1.356038] [<ffffffffa0031b29>] drm_dev_register+0xa9/0xd0 [drm]
>
> This is unlikely to be cirrus specific, but fallout from the
> drm_dev_register reorganisation. Could you bisect down into that merge?
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre