[gabbayo:amdkfd-next 5/8] drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c:540:3: error: dereferencing pointer to incomplete type 'struct cik_sdma_rlc_registers'
Felix Kuehling
felix.kuehling at amd.com
Mon Nov 6 16:35:14 UTC 2017
I messed up while rebasing patches and didn't test every intermediate
patch as I should have. The next patch in the series fixes this.
If anyone wants to fix this before merging further upstream, remove the
offending line in this commit and reintroduce it in the next commit in
the series. At this point in the series GFX8 KFD SDMA isn't supposed to
work anyway.
Regards,
Felix
On 2017-11-05 11:03 AM, kbuild test robot wrote:
> tree: git://people.freedesktop.org/~gabbayo/linux amdkfd-next
> head: c0307884529de823406fb17daf477f6af34ca5e5
> commit: 88bd109688cf71dac908e5a06915996ee79fcef6 [5/8] drm/amdgpu: Add support for resuming SDMA queues w/o HWS
> config: i386-randconfig-s0-201745 (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
> git checkout 88bd109688cf71dac908e5a06915996ee79fcef6
> # save the attached .config to linux build tree
> make ARCH=i386
>
> Note: the gabbayo/amdkfd-next HEAD c0307884529de823406fb17daf477f6af34ca5e5 builds fine.
> It only hurts bisectibility.
>
> All errors (new ones prefixed by >>):
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c: In function 'kgd_hqd_sdma_destroy':
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c:540:3: error: dereferencing pointer to incomplete type 'struct cik_sdma_rlc_registers'
> m->sdmax_rlcx_rb_rptr = RREG32(sdma_base_addr + mmSDMA0_RLC0_RB_RPTR);
> ^~
>
> vim +540 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
>
> 509
> 510 static int kgd_hqd_sdma_destroy(struct kgd_dev *kgd, void *mqd,
> 511 unsigned int utimeout)
> 512 {
> 513 struct amdgpu_device *adev = get_amdgpu_device(kgd);
> 514 struct cik_sdma_rlc_registers *m;
> 515 uint32_t sdma_base_addr;
> 516 uint32_t temp;
> 517 unsigned long end_jiffies = (utimeout * HZ / 1000) + jiffies;
> 518
> 519 m = get_sdma_mqd(mqd);
> 520 sdma_base_addr = get_sdma_base_addr(m);
> 521
> 522 temp = RREG32(sdma_base_addr + mmSDMA0_RLC0_RB_CNTL);
> 523 temp = temp & ~SDMA0_RLC0_RB_CNTL__RB_ENABLE_MASK;
> 524 WREG32(sdma_base_addr + mmSDMA0_RLC0_RB_CNTL, temp);
> 525
> 526 while (true) {
> 527 temp = RREG32(sdma_base_addr + mmSDMA0_RLC0_CONTEXT_STATUS);
> 528 if (temp & SDMA0_STATUS_REG__RB_CMD_IDLE__SHIFT)
> 529 break;
> 530 if (time_after(jiffies, end_jiffies))
> 531 return -ETIME;
> 532 usleep_range(500, 1000);
> 533 }
> 534
> 535 WREG32(sdma_base_addr + mmSDMA0_RLC0_DOORBELL, 0);
> 536 WREG32(sdma_base_addr + mmSDMA0_RLC0_RB_RPTR, 0);
> 537 WREG32(sdma_base_addr + mmSDMA0_RLC0_RB_WPTR, 0);
> 538 WREG32(sdma_base_addr + mmSDMA0_RLC0_RB_BASE, 0);
> 539
> > 540 m->sdmax_rlcx_rb_rptr = RREG32(sdma_base_addr + mmSDMA0_RLC0_RB_RPTR);
> 541
> 542 return 0;
> 543 }
> 544
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
More information about the dri-devel
mailing list