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