[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