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

From: Stephen Rothwell <[email-masked]>
Date: Tue, 23 Feb 2021 12:11:31 +1100

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