linux-next: build failure after merge of the amdgpu tree

From: Stephen Rothwell
Date: Mon Feb 22 2021 - 20:12:27 EST


Hi all,

After merging the amdgpu tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/kprobes.h:21,
from include/linux/kgdb.h:19,
from drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:29,
from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:29:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function 'dm_set_vblank':
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:38: error: 'flags' undeclared (first use in this function)
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~~~~
include/linux/typecheck.h:11:9: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2; \
| ^
include/linux/spinlock.h:384:2: note: in expansion of macro 'raw_spin_lock_irqsave'
384 | raw_spin_lock_irqsave(spinlock_check(lock), flags); \
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:2: note: in expansion of macro 'spin_lock_irqsave'
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:38: note: each undeclared identifier is reported only once for each function it appears in
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~~~~
include/linux/typecheck.h:11:9: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2; \
| ^
include/linux/spinlock.h:384:2: note: in expansion of macro 'raw_spin_lock_irqsave'
384 | raw_spin_lock_irqsave(spinlock_check(lock), flags); \
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:2: note: in expansion of macro 'spin_lock_irqsave'
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
12 | (void)(&__dummy == &__dummy2); \
| ^~
include/linux/spinlock.h:251:3: note: in expansion of macro 'typecheck'
251 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:384:2: note: in expansion of macro 'raw_spin_lock_irqsave'
384 | raw_spin_lock_irqsave(spinlock_check(lock), flags); \
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:2: note: in expansion of macro 'spin_lock_irqsave'
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/rwsem.h:16,
from include/linux/notifier.h:15,
from include/linux/kprobes.h:22,
from include/linux/kgdb.h:19,
from drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:29,
from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:29:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:23: error: 'struct amdgpu_display_manager' has no member named 'vblank_lock'
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~
include/linux/spinlock.h:252:34: note: in definition of macro 'raw_spin_lock_irqsave'
252 | flags = _raw_spin_lock_irqsave(lock); \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5465:2: note: in expansion of macro 'spin_lock_irqsave'
5465 | spin_lock_irqsave(&dm->vblank_lock, flags);
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5466:6: error: 'struct amdgpu_display_manager' has no member named 'vblank_workqueue'; did you mean 'hdcp_workqueue'?
5466 | dm->vblank_workqueue->dm = dm;
| ^~~~~~~~~~~~~~~~
| hdcp_workqueue
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5467:6: error: 'struct amdgpu_display_manager' has no member named 'vblank_workqueue'; did you mean 'hdcp_workqueue'?
5467 | dm->vblank_workqueue->otg_inst = acrtc->otg_inst;
| ^~~~~~~~~~~~~~~~
| hdcp_workqueue
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5468:6: error: 'struct amdgpu_display_manager' has no member named 'vblank_workqueue'; did you mean 'hdcp_workqueue'?
5468 | dm->vblank_workqueue->enable = enable;
| ^~~~~~~~~~~~~~~~
| hdcp_workqueue
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5469:28: error: 'struct amdgpu_display_manager' has no member named 'vblank_lock'
5469 | spin_unlock_irqrestore(&dm->vblank_lock, flags);
| ^~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5470:21: error: 'struct amdgpu_display_manager' has no member named 'vblank_workqueue'; did you mean 'hdcp_workqueue'?
5470 | schedule_work(&dm->vblank_workqueue->mall_work);
| ^~~~~~~~~~~~~~~~
| hdcp_workqueue

Caused by commit

9d99a805a9a0 ("drm/amd/display: Fix system hang after multiple hotplugs")

I have used the amdgpu tree from next-20210222 for today.

--
Cheers,
Stephen Rothwell

Attachment: pgp1zC6VitaDp.pgp
Description: OpenPGP digital signature