[radeon-alex:drm-next-4.14-wip 39/44] drivers/gpu/drm/radeon/radeon_ttm.c:763:2: error: implicit declaration of function 'ttm_populate_and_map_pages'

Christian König christian.koenig at amd.com
Thu Aug 24 06:43:18 UTC 2017


The problem is here:
> #if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
....
> extern int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device 
> *dev);
> extern void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct 
> device *dev);

We have forgotten to provide dummies for non SWIOTLB/IOMMU systems and 
xtensa doesn't seem to have this.

And BTW please drop the "extern" keyword here, that is the default for 
functions anyway.

Regards,
Christian.

Am 23.08.2017 um 23:16 schrieb StDenis, Tom:
> Odd.  I mean I had build tested it even though I don't have radeon cards to devel with (other than my tahiti I guess but I rarely use that).
>
> Tom
> ________________________________________
> From: Deucher, Alexander
> Sent: Wednesday, August 23, 2017 17:12
> To: StDenis, Tom; kbuild test robot
> Cc: kbuild-all at 01.org; dri-devel at lists.freedesktop.org; Koenig, Christian
> Subject: RE: [radeon-alex:drm-next-4.14-wip 39/44] drivers/gpu/drm/radeon/radeon_ttm.c:763:2: error: implicit declaration of function 'ttm_populate_and_map_pages'
>
>> -----Original Message-----
>> From: StDenis, Tom
>> Sent: Wednesday, August 23, 2017 5:08 PM
>> To: kbuild test robot
>> Cc: kbuild-all at 01.org; dri-devel at lists.freedesktop.org; Deucher, Alexander;
>> Koenig, Christian
>> Subject: Re: [radeon-alex:drm-next-4.14-wip 39/44]
>> drivers/gpu/drm/radeon/radeon_ttm.c:763:2: error: implicit declaration of
>> function 'ttm_populate_and_map_pages'
>>
>> The only way this would be possible if if the commit
>> d1c99475f269a85e0a1916c949526cb22b157271 didn't make it into the public
>> staging tree.
> It's there:
> https://cgit.freedesktop.org/~agd5f/linux/commit/?h=drm-next-4.14-wip&id=49ad04f2eae72fe928716efe557c73d1f346b9fd
> Built fine here.
>
> Alex
>
>> Tom
>>
>>
>> ________________________________________
>> From: kbuild test robot <fengguang.wu at intel.com>
>> Sent: Wednesday, August 23, 2017 16:52
>> To: StDenis, Tom
>> Cc: kbuild-all at 01.org; dri-devel at lists.freedesktop.org; Deucher, Alexander;
>> Koenig, Christian
>> Subject: [radeon-alex:drm-next-4.14-wip 39/44]
>> drivers/gpu/drm/radeon/radeon_ttm.c:763:2: error: implicit declaration of
>> function 'ttm_populate_and_map_pages'
>>
>> tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.14-wip
>> head:   9f7373596843431b63965965f1059d39600db3a2
>> commit: 217dcd53c963af2bbbb8d04c357aed922f1faa20 [39/44] drm/radeon:
>> use new TTM populate/dma map helper functions
>> config: xtensa-allmodconfig (attached as .config)
>> compiler: xtensa-linux-gcc (GCC) 4.9.0
>> reproduce:
>>          wget https://raw.githubusercontent.com/01org/lkp-
>> tests/master/sbin/make.cross -O ~/bin/make.cross
>>          chmod +x ~/bin/make.cross
>>          git checkout 217dcd53c963af2bbbb8d04c357aed922f1faa20
>>          # save the attached .config to linux build tree
>>          make.cross ARCH=xtensa
>>
>> All errors (new ones prefixed by >>):
>>
>>     drivers/gpu/drm/radeon/radeon_ttm.c: In function
>> 'radeon_ttm_tt_populate':
>>>> drivers/gpu/drm/radeon/radeon_ttm.c:763:2: error: implicit declaration
>> of function 'ttm_populate_and_map_pages' [-Werror=implicit-function-
>> declaration]
>>       return ttm_populate_and_map_pages(rdev->dev, &gtt->ttm);
>>       ^
>>     drivers/gpu/drm/radeon/radeon_ttm.c: In function
>> 'radeon_ttm_tt_unpopulate':
>>>> drivers/gpu/drm/radeon/radeon_ttm.c:796:2: error: implicit declaration
>> of function 'ttm_unmap_and_unpopulate_pages' [-Werror=implicit-
>> function-declaration]
>>       ttm_unmap_and_unpopulate_pages(rdev->dev, &gtt->ttm);
>>       ^
>>     cc1: some warnings being treated as errors
>>
>> vim +/ttm_populate_and_map_pages +763
>> drivers/gpu/drm/radeon/radeon_ttm.c
>>
>>     762
>>   > 763          return ttm_populate_and_map_pages(rdev->dev, &gtt->ttm);
>>     764  }
>>     765
>>     766  static void radeon_ttm_tt_unpopulate(struct ttm_tt *ttm)
>>     767  {
>>     768          struct radeon_device *rdev;
>>     769          struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
>>     770          bool slave = !!(ttm->page_flags & TTM_PAGE_FLAG_SG);
>>     771
>>     772          if (gtt && gtt->userptr) {
>>     773                  kfree(ttm->sg);
>>     774                  ttm->page_flags &= ~TTM_PAGE_FLAG_SG;
>>     775                  return;
>>     776          }
>>     777
>>     778          if (slave)
>>     779                  return;
>>     780
>>     781          rdev = radeon_get_rdev(ttm->bdev);
>>     782  #if IS_ENABLED(CONFIG_AGP)
>>     783          if (rdev->flags & RADEON_IS_AGP) {
>>     784                  ttm_agp_tt_unpopulate(ttm);
>>     785                  return;
>>     786          }
>>     787  #endif
>>     788
>>     789  #ifdef CONFIG_SWIOTLB
>>     790          if (swiotlb_nr_tbl()) {
>>     791                  ttm_dma_unpopulate(&gtt->ttm, rdev->dev);
>>     792                  return;
>>     793          }
>>     794  #endif
>>     795
>>   > 796          ttm_unmap_and_unpopulate_pages(rdev->dev, &gtt->ttm);
>>     797  }
>>     798
>>
>> ---
>> 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