Re: problem with 731c7d3, "main drm pull request for 4.8"
From: Dave Airlie
Date: Mon Aug 08 2016 - 17:28:34 EST
On 7 August 2016 at 07:59, Mike Marshall <hubcap@xxxxxxxxxxxx> wrote:
> Hello everyone...
>
> I was out of the office yesterday, so I came in today to do the bisect...
Okay it appears cirrus doesn't set it's mode config functions until after
it sets up modesetting, which causes this to fail.
Probably need to audit other drivers for same mistakes.
I'll send a patch later.
Dave.
>
> # 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