Hi Chengming,

FYI, the error/warning still remains.

tree:   git://people.freedesktop.org/~agd5f/linux.git amd-19.50
head:   02692309efa6ad48d47894e40fcb3832ace49c4c
commit: 769e4dc19ad658720b779070764db2fc10a0bbac [2104/2687] drm/amdkcl: Test 
whether drm_mm_insert_mode is available
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
        git checkout 769e4dc19ad658720b779070764db2fc10a0bbac
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

                    from include/drm/drm_print.h:32,
                    from include/drm/drm_mm.h:49,
                    from include/drm/drm_vma_manager.h:26,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/linux/kref.h:36:28: note: previous definition of 'kref_read' was here
    static inline unsigned int kref_read(const struct kref *kref)
                               ^~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:11:0,
                    from <command-line>:0:
   include/kcl/kcl_kref.h: In function 'kref_read':
   include/kcl/kcl_kref.h:9:21: error: passing argument 1 of 'atomic_read' from 
incompatible pointer type [-Werror=incompatible-pointer-types]
     return atomic_read(&kref->refcount);
                        ^
   In file included from arch/x86/include/asm/atomic.h:265:0,
                    from include/linux/atomic.h:7,
                    from include/linux/rcupdate.h:25,
                    from include/linux/rbtree.h:34,
                    from include/drm/drm_mm.h:41,
                    from include/drm/drm_vma_manager.h:26,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/asm-generic/atomic-instrumented.h:24:1: note: expected 'const 
atomic_t * {aka const struct <anonymous> *}' but argument is of type 'const 
refcount_t * {aka const struct refcount_struct *}'
    atomic_read(const atomic_t *v)
    ^~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:12:0,
                    from <command-line>:0:
   include/kcl/kcl_mm_types.h: At top level:
   include/kcl/kcl_mm_types.h:10:3: error: conflicting types for 'pfn_t'
    } pfn_t;
      ^~~~~
   In file included from include/asm-generic/memory_model.h:5:0,
                    from arch/x86/include/asm/page.h:76,
                    from arch/x86/include/asm/thread_info.h:12,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:78,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rbtree.h:34,
                    from include/drm/drm_mm.h:41,
                    from include/drm/drm_vma_manager.h:26,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/linux/pfn.h:15:3: note: previous declaration of 'pfn_t' was here
    } pfn_t;
      ^~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:12:0,
                    from <command-line>:0:
   include/kcl/kcl_mm_types.h:33:13: error: conflicting types for 'vm_fault_t'
    typedef int vm_fault_t;
                ^~~~~~~~~~
   In file included from include/drm/drm_mm.h:43:0,
                    from include/drm/drm_vma_manager.h:26,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/linux/mm_types.h:631:32: note: previous declaration of 'vm_fault_t' 
was here
    typedef __bitwise unsigned int vm_fault_t;
                                   ^~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:12:0,
                    from <command-line>:0:
   include/kcl/kcl_mm_types.h:35:26: error: conflicting types for 
'vmf_insert_mixed'
    static inline vm_fault_t vmf_insert_mixed(struct vm_area_struct *vma,
                             ^~~~~~~~~~~~~~~~
   In file included from include/drm/drm_vma_manager.h:27:0,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/linux/mm.h:2587:12: note: previous declaration of 'vmf_insert_mixed' 
was here
    vm_fault_t vmf_insert_mixed(struct vm_area_struct *vma, unsigned long addr,
               ^~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:12:0,
                    from <command-line>:0:
   include/kcl/kcl_mm_types.h: In function 'vmf_insert_mixed':
   include/kcl/kcl_mm_types.h:41:8: error: implicit declaration of function 
'vm_insert_mixed'; did you mean 'vmf_insert_mixed'? 
[-Werror=implicit-function-declaration]
     err = vm_insert_mixed(vma, addr, pfn_t_to_pfn(pfn));
           ^~~~~~~~~~~~~~~
           vmf_insert_mixed
   include/kcl/kcl_mm_types.h: At top level:
   include/kcl/kcl_mm_types.h:53:26: error: conflicting types for 
'vmf_insert_pfn'
    static inline vm_fault_t vmf_insert_pfn(struct vm_area_struct *vma,
                             ^~~~~~~~~~~~~~
   In file included from include/drm/drm_vma_manager.h:27:0,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/linux/mm.h:2583:12: note: previous declaration of 'vmf_insert_pfn' 
was here
    vm_fault_t vmf_insert_pfn(struct vm_area_struct *vma, unsigned long addr,
               ^~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:12:0,
                    from <command-line>:0:
   include/kcl/kcl_mm_types.h: In function 'vmf_insert_pfn':
   include/kcl/kcl_mm_types.h:56:13: error: implicit declaration of function 
'vm_insert_pfn'; did you mean 'vmf_insert_pfn'? 
[-Werror=implicit-function-declaration]
      int err = vm_insert_pfn(vma, addr, pfn);
                ^~~~~~~~~~~~~
                vmf_insert_pfn
   drivers/gpu/drm/ttm/ttm_bo_manager.c: In function 'ttm_bo_man_get_node':
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:60:7: error: variable 'sflags' has 
>> initializer but incomplete type
     enum drm_mm_search_flags sflags = DRM_MM_SEARCH_BEST;
          ^~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:60:36: error: 'DRM_MM_SEARCH_BEST' 
>> undeclared (first use in this function); did you mean 'DRM_MM_INSERT_BEST'?
     enum drm_mm_search_flags sflags = DRM_MM_SEARCH_BEST;
                                       ^~~~~~~~~~~~~~~~~~
                                       DRM_MM_INSERT_BEST
   drivers/gpu/drm/ttm/ttm_bo_manager.c:60:36: note: each undeclared identifier 
is reported only once for each function it appears in
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:60:27: error: storage size of 'sflags' 
>> isn't known
     enum drm_mm_search_flags sflags = DRM_MM_SEARCH_BEST;
                              ^~~~~~
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:61:7: error: variable 'aflags' has 
>> initializer but incomplete type
     enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT;
          ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:61:39: error: 'DRM_MM_CREATE_DEFAULT' 
>> undeclared (first use in this function); did you mean 
>> 'DRM_MODE_TYPE_DEFAULT'?
     enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT;
                                          ^~~~~~~~~~~~~~~~~~~~~
                                          DRM_MODE_TYPE_DEFAULT
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:61:30: error: storage size of 'aflags' 
>> isn't known
     enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT;
                                 ^~~~~~
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:78:12: error: 'DRM_MM_SEARCH_BELOW' 
>> undeclared (first use in this function); did you mean 'DRM_MM_SEARCH_BEST'?
      sflags = DRM_MM_SEARCH_BELOW;
               ^~~~~~~~~~~~~~~~~~~
               DRM_MM_SEARCH_BEST
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:79:12: error: 'DRM_MM_CREATE_TOP' 
>> undeclared (first use in this function); did you mean 
>> 'DRM_MM_CREATE_DEFAULT'?
      aflags = DRM_MM_CREATE_TOP;
               ^~~~~~~~~~~~~~~~~
               DRM_MM_CREATE_DEFAULT
>> drivers/gpu/drm/ttm/ttm_bo_manager.c:89:8: error: implicit declaration of 
>> function 'drm_mm_insert_node_in_range_generic'; did you mean 
>> 'drm_mm_insert_node_in_range'? [-Werror=implicit-function-declaration]
     ret = drm_mm_insert_node_in_range_generic(mm, node, mem->num_pages,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           drm_mm_insert_node_in_range
   drivers/gpu/drm/ttm/ttm_bo_manager.c:61:30: warning: unused variable 
'aflags' [-Wunused-variable]
     enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT;
                                 ^~~~~~
   drivers/gpu/drm/ttm/ttm_bo_manager.c:60:27: warning: unused variable 
'sflags' [-Wunused-variable]
     enum drm_mm_search_flags sflags = DRM_MM_SEARCH_BEST;
                              ^~~~~~
   drivers/gpu/drm/ttm/ttm_bo_manager.c: In function 'ttm_bo_man_debug':
   drivers/gpu/drm/ttm/ttm_bo_manager.c:165:26: error: passing argument 2 of 
'drm_mm_print' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
     drm_mm_print(&rman->mm, printer);
                             ^~~~~~~
   In file included from include/drm/drm_vma_manager.h:26:0,
                    from include/kcl/kcl_drm_vma_manager.h:8,
                    from drivers/gpu/drm/ttm/backport/backport.h:5,
                    from <command-line>:0:
   include/drm/drm_mm.h:547:6: note: expected 'struct drm_printer *' but 
argument is of type 'struct drm_printer *'
    void drm_mm_print(const struct drm_mm *mm, struct drm_printer *p);
         ^~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/sflags +60 drivers/gpu/drm/ttm/ttm_bo_manager.c

    50  
    51  static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man,
    52                                 struct ttm_buffer_object *bo,
    53                                 const struct ttm_place *place,
    54                                 struct ttm_mem_reg *mem)
    55  {
    56          struct ttm_range_manager *rman = (struct ttm_range_manager *) 
man->priv;
    57          struct drm_mm *mm = &rman->mm;
    58          struct drm_mm_node *node;
    59  #ifndef HAVE_DRM_MM_INSERT_MODE
  > 60          enum drm_mm_search_flags sflags = DRM_MM_SEARCH_BEST;
  > 61          enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT;
    62  #else
    63          enum drm_mm_insert_mode mode;
    64  #endif
    65          unsigned long lpfn;
    66          int ret;
    67  
    68          lpfn = place->lpfn;
    69          if (!lpfn)
    70                  lpfn = man->size;
    71  
    72          node = kzalloc(sizeof(*node), GFP_KERNEL);
    73          if (!node)
    74                  return -ENOMEM;
    75  
    76  #ifndef HAVE_DRM_MM_INSERT_MODE
    77          if (place->flags & TTM_PL_FLAG_TOPDOWN) {
  > 78                  sflags = DRM_MM_SEARCH_BELOW;
  > 79                  aflags = DRM_MM_CREATE_TOP;
    80          }
    81  #else
    82          mode = DRM_MM_INSERT_BEST;
    83          if (place->flags & TTM_PL_FLAG_TOPDOWN)
    84                  mode = DRM_MM_INSERT_HIGH;
    85  #endif
    86  
    87          spin_lock(&rman->lock);
    88  #ifndef HAVE_DRM_MM_INSERT_MODE
  > 89          ret = drm_mm_insert_node_in_range_generic(mm, node, 
mem->num_pages,
    90                                            mem->page_alignment, 0,
    91                                            place->fpfn, lpfn,
    92                                            sflags, aflags);
    93  #else
    94          ret = drm_mm_insert_node_in_range(mm, node,
    95                                            mem->num_pages,
    96                                            mem->page_alignment, 0,
    97                                            place->fpfn, lpfn, mode);
    98  #endif
    99  
   100          spin_unlock(&rman->lock);
   101  
   102          if (unlikely(ret)) {
   103                  kfree(node);
   104          } else {
   105                  mem->mm_node = node;
   106                  mem->start = node->start;
   107          }
   108  
   109          return 0;
   110  }
   111  

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

Attachment: .config.gz
Description: application/gzip

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

Reply via email to