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