[radeon-alex:amd-staging-dkms-4.13 3809/3830] drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c:660:3: error: implicit declaration of function 'release_pages'; did you mean 'release_task'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-dkms-4.13
head:   7bde112fab15c0a28c1d056959167cd4393bf538
commit: d3d63af4863b870bb0153c8fe24b41218d232b10 [3809/3830] drm/amdgpu: Remove unnecessary includes
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout d3d63af4863b870bb0153c8fe24b41218d232b10
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

   drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c: In function 'init_user_pages':
>> drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c:660:3: error: implicit declaration of function 'release_pages'; did you mean 'release_task'? [-Werror=implicit-function-declaration]
      release_pages(mem->user_pages, bo->tbo.ttm->num_pages, 0);
      ^~~~~~~~~~~~~
      release_task
   cc1: some warnings being treated as errors

vim +660 drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c

40731cf1 Harish Kasiviswanathan 2016-06-27  584  
24d10b3d Felix Kuehling         2017-03-21  585  /* Initializes user pages. It registers the MMU notifier and validates
24d10b3d Felix Kuehling         2017-03-21  586   * the userptr BO in the GTT domain.
24d10b3d Felix Kuehling         2017-03-21  587   *
24d10b3d Felix Kuehling         2017-03-21  588   * The BO must already be on the userptr_valid_list. Otherwise an
24d10b3d Felix Kuehling         2017-03-21  589   * eviction and restore may happen that leaves the new BO unmapped
24d10b3d Felix Kuehling         2017-03-21  590   * with the user mode queues running.
24d10b3d Felix Kuehling         2017-03-21  591   *
24d10b3d Felix Kuehling         2017-03-21  592   * Takes the process_info->lock to protect against concurrent restore
24d10b3d Felix Kuehling         2017-03-21  593   * workers.
24d10b3d Felix Kuehling         2017-03-21  594   *
24d10b3d Felix Kuehling         2017-03-21  595   * Returns 0 for success, negative errno for errors.
24d10b3d Felix Kuehling         2017-03-21  596   */
24d10b3d Felix Kuehling         2017-03-21  597  static int init_user_pages(struct kgd_mem *mem, struct mm_struct *mm,
24d10b3d Felix Kuehling         2017-03-21  598  			   uint64_t user_addr)
24d10b3d Felix Kuehling         2017-03-21  599  {
24d10b3d Felix Kuehling         2017-03-21  600  	struct amdkfd_process_info *process_info = mem->process_info;
24d10b3d Felix Kuehling         2017-03-21  601  	struct amdgpu_bo *bo = mem->bo;
ba839029 Le.Ma                  2017-11-24  602  	struct ttm_operation_ctx ctx = { true, false };
24d10b3d Felix Kuehling         2017-03-21  603  	int ret = 0;
24d10b3d Felix Kuehling         2017-03-21  604  
24d10b3d Felix Kuehling         2017-03-21  605  	mutex_lock(&process_info->lock);
24d10b3d Felix Kuehling         2017-03-21  606  
24d10b3d Felix Kuehling         2017-03-21  607  	ret = amdgpu_ttm_tt_set_userptr(bo->tbo.ttm, user_addr, 0);
24d10b3d Felix Kuehling         2017-03-21  608  	if (ret) {
24d10b3d Felix Kuehling         2017-03-21  609  		pr_err("%s: Failed to set userptr: %d\n", __func__, ret);
24d10b3d Felix Kuehling         2017-03-21  610  		goto out;
24d10b3d Felix Kuehling         2017-03-21  611  	}
24d10b3d Felix Kuehling         2017-03-21  612  
24d10b3d Felix Kuehling         2017-03-21  613  	ret = amdgpu_mn_register(bo, user_addr);
24d10b3d Felix Kuehling         2017-03-21  614  	if (ret) {
24d10b3d Felix Kuehling         2017-03-21  615  		pr_err("%s: Failed to register MMU notifier: %d\n",
24d10b3d Felix Kuehling         2017-03-21  616  		       __func__, ret);
24d10b3d Felix Kuehling         2017-03-21  617  		goto out;
24d10b3d Felix Kuehling         2017-03-21  618  	}
24d10b3d Felix Kuehling         2017-03-21  619  
24d10b3d Felix Kuehling         2017-03-21  620  	/* If no restore worker is running concurrently, user_pages
24d10b3d Felix Kuehling         2017-03-21  621  	 * should not be allocated
24d10b3d Felix Kuehling         2017-03-21  622  	 */
24d10b3d Felix Kuehling         2017-03-21  623  	WARN(mem->user_pages, "Leaking user_pages array");
24d10b3d Felix Kuehling         2017-03-21  624  
96f59e87 Le.Ma                  2017-09-11  625  #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
24d10b3d Felix Kuehling         2017-03-21  626  	mem->user_pages = drm_calloc_large(bo->tbo.ttm->num_pages,
24d10b3d Felix Kuehling         2017-03-21  627  					   sizeof(struct page *));
96f59e87 Le.Ma                  2017-09-11  628  #else
96f59e87 Le.Ma                  2017-09-11  629  	mem->user_pages = kvmalloc_array(bo->tbo.ttm->num_pages,
96f59e87 Le.Ma                  2017-09-11  630  					   sizeof(struct page *),
96f59e87 Le.Ma                  2017-09-11  631  					   GFP_KERNEL | __GFP_ZERO);
96f59e87 Le.Ma                  2017-09-11  632  #endif
24d10b3d Felix Kuehling         2017-03-21  633  	if (!mem->user_pages) {
24d10b3d Felix Kuehling         2017-03-21  634  		pr_err("%s: Failed to allocate pages array\n", __func__);
24d10b3d Felix Kuehling         2017-03-21  635  		ret = -ENOMEM;
24d10b3d Felix Kuehling         2017-03-21  636  		goto unregister_out;
24d10b3d Felix Kuehling         2017-03-21  637  	}
24d10b3d Felix Kuehling         2017-03-21  638  
24d10b3d Felix Kuehling         2017-03-21  639  	ret = amdgpu_ttm_tt_get_user_pages(bo->tbo.ttm, mem->user_pages);
24d10b3d Felix Kuehling         2017-03-21  640  	if (ret) {
49da8283 Felix Kuehling         2017-04-05  641  		pr_err("%s: Failed to get user pages: %d\n", __func__, ret);
24d10b3d Felix Kuehling         2017-03-21  642  		goto free_out;
24d10b3d Felix Kuehling         2017-03-21  643  	}
24d10b3d Felix Kuehling         2017-03-21  644  
1352c34f Felix Kuehling         2017-09-05  645  	amdgpu_ttm_tt_set_user_pages(bo->tbo.ttm, mem->user_pages);
24d10b3d Felix Kuehling         2017-03-21  646  
24d10b3d Felix Kuehling         2017-03-21  647  	ret = amdgpu_bo_reserve(bo, true);
24d10b3d Felix Kuehling         2017-03-21  648  	if (ret) {
24d10b3d Felix Kuehling         2017-03-21  649  		pr_err("%s: Failed to reserve BO\n", __func__);
24d10b3d Felix Kuehling         2017-03-21  650  		goto release_out;
24d10b3d Felix Kuehling         2017-03-21  651  	}
24d10b3d Felix Kuehling         2017-03-21  652  	amdgpu_ttm_placement_from_domain(bo, mem->domain);
ba839029 Le.Ma                  2017-11-24  653  	ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx);
24d10b3d Felix Kuehling         2017-03-21  654  	if (ret)
24d10b3d Felix Kuehling         2017-03-21  655  		pr_err("%s: failed to validate BO\n", __func__);
24d10b3d Felix Kuehling         2017-03-21  656  	amdgpu_bo_unreserve(bo);
24d10b3d Felix Kuehling         2017-03-21  657  
24d10b3d Felix Kuehling         2017-03-21  658  release_out:
24d10b3d Felix Kuehling         2017-03-21  659  	if (ret)
24d10b3d Felix Kuehling         2017-03-21 @660  		release_pages(mem->user_pages, bo->tbo.ttm->num_pages, 0);
24d10b3d Felix Kuehling         2017-03-21  661  free_out:
96f59e87 Le.Ma                  2017-09-11  662  #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
24d10b3d Felix Kuehling         2017-03-21  663  	drm_free_large(mem->user_pages);
96f59e87 Le.Ma                  2017-09-11  664  #else
96f59e87 Le.Ma                  2017-09-11  665  	kvfree(mem->user_pages);
96f59e87 Le.Ma                  2017-09-11  666  #endif
24d10b3d Felix Kuehling         2017-03-21  667  	mem->user_pages = NULL;
24d10b3d Felix Kuehling         2017-03-21  668  unregister_out:
24d10b3d Felix Kuehling         2017-03-21  669  	if (ret)
24d10b3d Felix Kuehling         2017-03-21  670  		amdgpu_mn_unregister(bo);
24d10b3d Felix Kuehling         2017-03-21  671  out:
24d10b3d Felix Kuehling         2017-03-21  672  	mutex_unlock(&process_info->lock);
24d10b3d Felix Kuehling         2017-03-21  673  	return ret;
24d10b3d Felix Kuehling         2017-03-21  674  }
24d10b3d Felix Kuehling         2017-03-21  675  

:::::: The code at line 660 was first introduced by commit
:::::: 24d10b3d807a7c6ff98b98bea73c2bba722a94f7 drm/amdgpu: New HSA MMU notifiers to work under memory pressure

:::::: TO: Felix Kuehling <Felix.Kuehling@xxxxxxx>
:::::: CC: Le.Ma <Le.Ma@xxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux