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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 3 Dec 2021 12:11:19 +1100

Hi all,

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

drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c: In function 'amdgpu_vkms_sw_fini':
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c:521:34: error: 'struct amdgpu_vkms_output' has no member named 'vblank_hrtimer'
  521 |   if (adev->amdgpu_vkms_output[i].vblank_hrtimer.function)
      |                                  ^
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c:522:47: error: 'struct amdgpu_vkms_output' has no member named 'vblank_hrtimer'
  522 |    hrtimer_cancel(&adev->amdgpu_vkms_output[i].vblank_hrtimer);
      |                                               ^

Caused by commit

  deefd07eedb7 ("drm/amdgpu: fix vkms crtc settings")

interacting with commit

  3e467e478ed3 ("drm/amdgpu: cancel the correct hrtimer on exit")

from the drm-fixes tree.  The problem is that this latter patch also
appears in the amdgpu tree as a different commit and git resolves it
incorrectly in the presence of the former commit :-(

I have applied the following merge fix patch.

From: Stephen Rothwell <[email-masked]>
Date: Fri, 3 Dec 2021 12:06:57 +1100
Subject: [PATCH] fix up for "drm/amdgpu: cancel the correct hrtimer on exit"

interacting with "drm/amdgpu: fix vkms crtc settings"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index e07fc64b655e..6c62c45e3e3e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -518,8 +518,8 @@ static int amdgpu_vkms_sw_fini(void *handle)
 	int i = 0;
 
 	for (i = 0; i < adev->mode_info.num_crtc; i++)
-		if (adev->amdgpu_vkms_output[i].vblank_hrtimer.function)
-			hrtimer_cancel(&adev->amdgpu_vkms_output[i].vblank_hrtimer);
+		if (adev->mode_info.crtcs[i])
+			hrtimer_cancel(&adev->mode_info.crtcs[i]->vblank_timer);
 
 	kfree(adev->mode_info.bios_hardcoded_edid);
 	kfree(adev->amdgpu_vkms_output);
-- 
2.33.0

-- 
Cheers,
Stephen Rothwell