[aaron:for_lkp_skl_2sp2_test 148/225] drivers/gpu//drm/amd/amdgpu/amdgpu_ttm.c:669:2: error: too many arguments to function 'release_pages'

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

 



tree:   aaron/for_lkp_skl_2sp2_test
head:   6c9381b65892222cbe2214fb22af9043f9ce1065
commit: efff595a987d35a21402e92bc901c1900f631263 [148/225] mm: remove cold parameter for release_pages
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        git checkout efff595a987d35a21402e92bc901c1900f631263
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/gpu//drm/amd/amdgpu/amdgpu_ttm.c: In function 'amdgpu_ttm_tt_get_user_pages':
>> drivers/gpu//drm/amd/amdgpu/amdgpu_ttm.c:669:2: error: too many arguments to function 'release_pages'
     release_pages(pages, pinned, 0);
     ^~~~~~~~~~~~~
   In file included from arch/x86/include/asm/pgalloc.h:6:0,
                    from include/drm/drmP.h:62,
                    from drivers/gpu//drm/amd/amdgpu/amdgpu_ttm.c:37:
   include/linux/pagemap.h:120:6: note: declared here
    void release_pages(struct page **pages, int nr);
         ^~~~~~~~~~~~~
--
   drivers/gpu//drm/amd/amdgpu/amdgpu_cs.c: In function 'amdgpu_cs_parser_bos':
>> drivers/gpu//drm/amd/amdgpu/amdgpu_cs.c:559:5: error: too many arguments to function 'release_pages'
        release_pages(e->user_pages,
        ^~~~~~~~~~~~~
   In file included from drivers/gpu//drm/amd/amdgpu/amdgpu_cs.c:27:0:
   include/linux/pagemap.h:120:6: note: declared here
    void release_pages(struct page **pages, int nr);
         ^~~~~~~~~~~~~

sparse warnings: (new ones prefixed by >>)


vim +/release_pages +669 drivers/gpu//drm/amd/amdgpu/amdgpu_ttm.c

d38ceaf9 Alex Deucher    2015-04-20  615  
2f568dbd Christian König 2016-02-23  616  int amdgpu_ttm_tt_get_user_pages(struct ttm_tt *ttm, struct page **pages)
d38ceaf9 Alex Deucher    2015-04-20  617  {
d38ceaf9 Alex Deucher    2015-04-20  618  	struct amdgpu_ttm_tt *gtt = (void *)ttm;
768ae309 Lorenzo Stoakes 2016-10-13  619  	unsigned int flags = 0;
2f568dbd Christian König 2016-02-23  620  	unsigned pinned = 0;
2f568dbd Christian König 2016-02-23  621  	int r;
d38ceaf9 Alex Deucher    2015-04-20  622  
768ae309 Lorenzo Stoakes 2016-10-13  623  	if (!(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY))
768ae309 Lorenzo Stoakes 2016-10-13  624  		flags |= FOLL_WRITE;
768ae309 Lorenzo Stoakes 2016-10-13  625  
b72cf4fc Christian König 2017-09-03  626  	down_read(&current->mm->mmap_sem);
b72cf4fc Christian König 2017-09-03  627  
d38ceaf9 Alex Deucher    2015-04-20  628  	if (gtt->userflags & AMDGPU_GEM_USERPTR_ANONONLY) {
2f568dbd Christian König 2016-02-23  629  		/* check that we only use anonymous memory
d38ceaf9 Alex Deucher    2015-04-20  630  		   to prevent problems with writeback */
d38ceaf9 Alex Deucher    2015-04-20  631  		unsigned long end = gtt->userptr + ttm->num_pages * PAGE_SIZE;
d38ceaf9 Alex Deucher    2015-04-20  632  		struct vm_area_struct *vma;
d38ceaf9 Alex Deucher    2015-04-20  633  
d38ceaf9 Alex Deucher    2015-04-20  634  		vma = find_vma(gtt->usermm, gtt->userptr);
b72cf4fc Christian König 2017-09-03  635  		if (!vma || vma->vm_file || vma->vm_end < end) {
b72cf4fc Christian König 2017-09-03  636  			up_read(&current->mm->mmap_sem);
d38ceaf9 Alex Deucher    2015-04-20  637  			return -EPERM;
d38ceaf9 Alex Deucher    2015-04-20  638  		}
b72cf4fc Christian König 2017-09-03  639  	}
d38ceaf9 Alex Deucher    2015-04-20  640  
d38ceaf9 Alex Deucher    2015-04-20  641  	do {
d38ceaf9 Alex Deucher    2015-04-20  642  		unsigned num_pages = ttm->num_pages - pinned;
d38ceaf9 Alex Deucher    2015-04-20  643  		uint64_t userptr = gtt->userptr + pinned * PAGE_SIZE;
2f568dbd Christian König 2016-02-23  644  		struct page **p = pages + pinned;
637dd3b5 Christian König 2016-03-03  645  		struct amdgpu_ttm_gup_task_list guptask;
637dd3b5 Christian König 2016-03-03  646  
637dd3b5 Christian König 2016-03-03  647  		guptask.task = current;
637dd3b5 Christian König 2016-03-03  648  		spin_lock(&gtt->guptasklock);
637dd3b5 Christian König 2016-03-03  649  		list_add(&guptask.list, &gtt->guptasks);
637dd3b5 Christian König 2016-03-03  650  		spin_unlock(&gtt->guptasklock);
d38ceaf9 Alex Deucher    2015-04-20  651  
768ae309 Lorenzo Stoakes 2016-10-13  652  		r = get_user_pages(userptr, num_pages, flags, p, NULL);
637dd3b5 Christian König 2016-03-03  653  
637dd3b5 Christian König 2016-03-03  654  		spin_lock(&gtt->guptasklock);
637dd3b5 Christian König 2016-03-03  655  		list_del(&guptask.list);
637dd3b5 Christian König 2016-03-03  656  		spin_unlock(&gtt->guptasklock);
d38ceaf9 Alex Deucher    2015-04-20  657  
d38ceaf9 Alex Deucher    2015-04-20  658  		if (r < 0)
d38ceaf9 Alex Deucher    2015-04-20  659  			goto release_pages;
d38ceaf9 Alex Deucher    2015-04-20  660  
d38ceaf9 Alex Deucher    2015-04-20  661  		pinned += r;
d38ceaf9 Alex Deucher    2015-04-20  662  
d38ceaf9 Alex Deucher    2015-04-20  663  	} while (pinned < ttm->num_pages);
d38ceaf9 Alex Deucher    2015-04-20  664  
b72cf4fc Christian König 2017-09-03  665  	up_read(&current->mm->mmap_sem);
2f568dbd Christian König 2016-02-23  666  	return 0;
2f568dbd Christian König 2016-02-23  667  
2f568dbd Christian König 2016-02-23  668  release_pages:
2f568dbd Christian König 2016-02-23 @669  	release_pages(pages, pinned, 0);
b72cf4fc Christian König 2017-09-03  670  	up_read(&current->mm->mmap_sem);
2f568dbd Christian König 2016-02-23  671  	return r;
2f568dbd Christian König 2016-02-23  672  }
2f568dbd Christian König 2016-02-23  673  

:::::: The code at line 669 was first introduced by commit
:::::: 2f568dbd6b944c2e8c0c54b53c2211c23995e6a4 drm/amdgpu: move get_user_pages out of amdgpu_ttm_tt_pin_userptr v6

:::::: TO: Christian König <christian.koenig@xxxxxxx>
:::::: CC: Alex Deucher <alexander.deucher@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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux