[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'
Oded Gabbay
oded.gabbay at gmail.com
Thu Nov 9 07:08:12 UTC 2017
Thanks for the pointer, I did that (these patches will be sent for
next merge window)
On Mon, Nov 6, 2017 at 6:35 PM, Felix Kuehling <felix.kuehling at amd.com> wrote:
> 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