[radeon-alex:amd-19.50 2031/2687] include/kcl/kcl_mm.h:60:21: error: redefinition of 'kvmalloc'

kbuild test robot lkp at intel.com
Sat Jan 11 06:37:14 UTC 2020


Hi changzhu,

FYI, the error/warning still remains.

tree:   git://people.freedesktop.org/~agd5f/linux.git amd-19.50
head:   02692309efa6ad48d47894e40fcb3832ace49c4c
commit: f12f9b802b6dd80fdee0b7c601b8b9d59a967556 [2031/2687] drm/amdkcl: Test if linux/overflow.h and struct_size exists
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
        git checkout f12f9b802b6dd80fdee0b7c601b8b9d59a967556
        # 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 <lkp at intel.com>

All errors (new ones prefixed by >>):

                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_plane.h:713:5: note: declared here
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_lookup':
   include/kcl/kcl_drm.h:252:32: error: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [-Werror=incompatible-pointer-types]
      return drm_gem_object_lookup(dev, filp, handle);
                                   ^~~
   In file included from include/kcl/kcl_drm.h:9:0,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_gem.h:386:24: note: expected 'struct drm_file *' but argument is of type 'struct drm_device *'
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h:252:37: warning: passing argument 2 of 'drm_gem_object_lookup' makes integer from pointer without a cast [-Wint-conversion]
      return drm_gem_object_lookup(dev, filp, handle);
                                        ^~~~
   In file included from include/kcl/kcl_drm.h:9:0,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_gem.h:386:24: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct drm_file *'
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h:252:10: error: too many arguments to function 'drm_gem_object_lookup'
      return drm_gem_object_lookup(dev, filp, handle);
             ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/kcl/kcl_drm.h:9:0,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_gem.h:386:24: note: declared here
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h: At top level:
   include/kcl/kcl_drm.h:295:8: error: redefinition of 'struct drm_format_name_buf'
    struct drm_format_name_buf {
           ^~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drmP.h:69:0,
                    from include/kcl/kcl_drm.h:6,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_fourcc.h:142:8: note: originally defined here
    struct drm_format_name_buf {
           ^~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_put_unlocked':
   include/kcl/kcl_drm.h:327:9: error: implicit declaration of function 'drm_gem_object_unreference_unlocked'; did you mean 'drm_gem_object_put_unlocked'? [-Werror=implicit-function-declaration]
     return drm_gem_object_unreference_unlocked(obj);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            drm_gem_object_put_unlocked
   include/kcl/kcl_drm.h:327:9: warning: 'return' with a value, in function returning void
     return drm_gem_object_unreference_unlocked(obj);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kcl/kcl_drm.h:324:20: note: declared here
    static inline void kcl_drm_gem_object_put_unlocked(struct drm_gem_object *obj)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_old_crtc_state_before_commit':
   include/kcl/kcl_drm.h:351:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state')
     return state->crtcs[drm_crtc_index(crtc)]->state;
                                              ^~
   include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_new_crtc_state_after_commit':
   include/kcl/kcl_drm.h:386:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state')
     return state->crtcs[drm_crtc_index(crtc)]->state;
                                              ^~
   include/kcl/kcl_drm.h: At top level:
   include/kcl/kcl_drm.h:491:8: error: redefinition of 'struct drm_printer'
    struct drm_printer {
           ^~~~~~~~~~~
   In file included from include/drm/drm_mm.h:49: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/drm/drm_print.h:70:8: note: originally defined here
    struct drm_printer {
           ^~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h:497:6: error: conflicting types for 'drm_printf'
    void drm_printf(struct drm_printer *p, const char *f, ...);
         ^~~~~~~~~~
   In file included from include/drm/drm_mm.h:49: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/drm/drm_print.h:86:6: note: previous declaration of 'drm_printf' was here
    void drm_printf(struct drm_printer *p, const char *f, ...);
         ^~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:60:21: error: redefinition of 'kvmalloc'
    static inline void *kvmalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   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:635:21: note: previous definition of 'kvmalloc' was here
    static inline void *kvmalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:70:21: error: redefinition of 'kvzalloc'
    static inline void *kvzalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   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:643:21: note: previous definition of 'kvzalloc' was here
    static inline void *kvzalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:80:20: error: static declaration of 'kvfree' follows non-static declaration
    static inline void kvfree(const void *addr)
                       ^~~~~~
   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:663:13: note: previous declaration of 'kvfree' was here
    extern void kvfree(const void *addr);
                ^~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:100:21: error: redefinition of 'kvmalloc_array'
    static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~~~~~~~
   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:648:21: note: previous definition of 'kvmalloc_array' was here
    static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:113:21: error: redefinition of 'kvcalloc'
    static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~
   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:658:21: note: previous definition of 'kvcalloc' was here
    static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0,
                    from <command-line>:0:
   include/kcl/kcl_fence.h: In function 'kcl_fence_get_rcu_safe':
   include/kcl/kcl_fence.h:124:32: error: passing argument 1 of 'dma_fence_get_rcu_safe' from incompatible pointer type [-Werror=incompatible-pointer-types]
     return dma_fence_get_rcu_safe(fencep);
                                   ^~~~~~
   In file included from include/drm/drmP.h:58:0,
                    from include/kcl/kcl_drm.h:6,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/linux/dma-fence.h:315:1: note: expected 'struct dma_fence **' but argument is of type 'struct fence **'
    dma_fence_get_rcu_safe(struct dma_fence __rcu **fencep)
    ^~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0,
                    from <command-line>:0:
   include/kcl/kcl_fence.h:124:9: error: return from incompatible pointer type [-Werror=incompatible-pointer-types]
     return dma_fence_get_rcu_safe(fencep);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kcl/kcl_fence.h: At top level:
   include/kcl/kcl_fence.h:129:20: error: redefinition of 'dma_fence_set_error'
    static inline void dma_fence_set_error(struct dma_fence *fence,
                       ^~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drmP.h:58:0,
                    from include/kcl/kcl_drm.h:6,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/linux/dma-fence.h:517:20: note: previous definition of 'dma_fence_set_error' was here
    static inline void dma_fence_set_error(struct dma_fence *fence,
                       ^~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0,
                    from <command-line>:0:
   include/kcl/kcl_fence.h: In function 'dma_fence_set_error':
   include/kcl/kcl_fence.h:135:7: error: 'struct dma_fence' has no member named 'status'
     fence->status = error;
          ^~
   cc1: some warnings being treated as errors
--
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_plane.h:713:5: note: declared here
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_lookup':
   include/kcl/kcl_drm.h:252:32: error: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [-Werror=incompatible-pointer-types]
      return drm_gem_object_lookup(dev, filp, handle);
                                   ^~~
   In file included from include/kcl/kcl_drm.h:9:0,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_gem.h:386:24: note: expected 'struct drm_file *' but argument is of type 'struct drm_device *'
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h:252:37: warning: passing argument 2 of 'drm_gem_object_lookup' makes integer from pointer without a cast [-Wint-conversion]
      return drm_gem_object_lookup(dev, filp, handle);
                                        ^~~~
   In file included from include/kcl/kcl_drm.h:9:0,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_gem.h:386:24: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct drm_file *'
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h:252:10: error: too many arguments to function 'drm_gem_object_lookup'
      return drm_gem_object_lookup(dev, filp, handle);
             ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/kcl/kcl_drm.h:9:0,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_gem.h:386:24: note: declared here
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h: At top level:
   include/kcl/kcl_drm.h:295:8: error: redefinition of 'struct drm_format_name_buf'
    struct drm_format_name_buf {
           ^~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drmP.h:69:0,
                    from include/kcl/kcl_drm.h:6,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/drm/drm_fourcc.h:142:8: note: originally defined here
    struct drm_format_name_buf {
           ^~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_put_unlocked':
   include/kcl/kcl_drm.h:327:9: error: implicit declaration of function 'drm_gem_object_unreference_unlocked'; did you mean 'drm_gem_object_put_unlocked'? [-Werror=implicit-function-declaration]
     return drm_gem_object_unreference_unlocked(obj);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            drm_gem_object_put_unlocked
   include/kcl/kcl_drm.h:327:9: warning: 'return' with a value, in function returning void
     return drm_gem_object_unreference_unlocked(obj);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kcl/kcl_drm.h:324:20: note: declared here
    static inline void kcl_drm_gem_object_put_unlocked(struct drm_gem_object *obj)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_old_crtc_state_before_commit':
   include/kcl/kcl_drm.h:351:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state')
     return state->crtcs[drm_crtc_index(crtc)]->state;
                                              ^~
   include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_new_crtc_state_after_commit':
   include/kcl/kcl_drm.h:386:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state')
     return state->crtcs[drm_crtc_index(crtc)]->state;
                                              ^~
   include/kcl/kcl_drm.h: At top level:
   include/kcl/kcl_drm.h:491:8: error: redefinition of 'struct drm_printer'
    struct drm_printer {
           ^~~~~~~~~~~
   In file included from include/drm/drm_mm.h:49: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/drm/drm_print.h:70:8: note: originally defined here
    struct drm_printer {
           ^~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
                    from <command-line>:0:
   include/kcl/kcl_drm.h:497:6: error: conflicting types for 'drm_printf'
    void drm_printf(struct drm_printer *p, const char *f, ...);
         ^~~~~~~~~~
   In file included from include/drm/drm_mm.h:49: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/drm/drm_print.h:86:6: note: previous declaration of 'drm_printf' was here
    void drm_printf(struct drm_printer *p, const char *f, ...);
         ^~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:60:21: error: redefinition of 'kvmalloc'
    static inline void *kvmalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   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:635:21: note: previous definition of 'kvmalloc' was here
    static inline void *kvmalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:70:21: error: redefinition of 'kvzalloc'
    static inline void *kvzalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   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:643:21: note: previous definition of 'kvzalloc' was here
    static inline void *kvzalloc(size_t size, gfp_t flags)
                        ^~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:80:20: error: static declaration of 'kvfree' follows non-static declaration
    static inline void kvfree(const void *addr)
                       ^~~~~~
   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:663:13: note: previous declaration of 'kvfree' was here
    extern void kvfree(const void *addr);
                ^~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:100:21: error: redefinition of 'kvmalloc_array'
    static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~~~~~~~
   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:648:21: note: previous definition of 'kvmalloc_array' was here
    static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
                    from <command-line>:0:
>> include/kcl/kcl_mm.h:113:21: error: redefinition of 'kvcalloc'
    static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~
   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:658:21: note: previous definition of 'kvcalloc' was here
    static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
                        ^~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0,
                    from <command-line>:0:
   include/kcl/kcl_fence.h: In function 'kcl_fence_get_rcu_safe':
   include/kcl/kcl_fence.h:124:32: error: passing argument 1 of 'dma_fence_get_rcu_safe' from incompatible pointer type [-Werror=incompatible-pointer-types]
     return dma_fence_get_rcu_safe(fencep);
                                   ^~~~~~
   In file included from include/drm/drmP.h:58:0,
                    from include/kcl/kcl_drm.h:6,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/linux/dma-fence.h:315:1: note: expected 'struct dma_fence **' but argument is of type 'struct fence **'
    dma_fence_get_rcu_safe(struct dma_fence __rcu **fencep)
    ^~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0,
                    from <command-line>:0:
   include/kcl/kcl_fence.h:124:9: error: return from incompatible pointer type [-Werror=incompatible-pointer-types]
     return dma_fence_get_rcu_safe(fencep);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kcl/kcl_fence.h: At top level:
   include/kcl/kcl_fence.h:129:20: error: redefinition of 'dma_fence_set_error'
    static inline void dma_fence_set_error(struct dma_fence *fence,
                       ^~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drmP.h:58:0,
                    from include/kcl/kcl_drm.h:6,
                    from drivers/gpu/drm/ttm/backport/backport.h:6,
                    from <command-line>:0:
   include/linux/dma-fence.h:517:20: note: previous definition of 'dma_fence_set_error' was here
    static inline void dma_fence_set_error(struct dma_fence *fence,
                       ^~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0,
                    from <command-line>:0:
   include/kcl/kcl_fence.h: In function 'dma_fence_set_error':
   include/kcl/kcl_fence.h:135:7: error: 'struct dma_fence' has no member named 'status'
     fence->status = error;
          ^~
   drivers/gpu/drm/ttm/ttm_bo.c: In function 'ttm_bo_mem_space_debug':
   drivers/gpu/drm/ttm/ttm_bo.c:101:25: error: invalid initializer
     struct drm_printer p = drm_debug_printer(TTM_PFX);
                            ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
..

vim +/kvmalloc +60 include/kcl/kcl_mm.h

b4f7d254be169a Junwei Zhang 2016-12-23   58  
b8a1520bda5b72 Flora Cui    2019-08-19   59  #ifndef HAVE_KVZALLOC_KVMALLOC
b8a1520bda5b72 Flora Cui    2019-08-19  @60  static inline void *kvmalloc(size_t size, gfp_t flags)
b8a1520bda5b72 Flora Cui    2019-08-19   61  {
b8a1520bda5b72 Flora Cui    2019-08-19   62  	void *out;
b4f7d254be169a Junwei Zhang 2016-12-23   63  
b8a1520bda5b72 Flora Cui    2019-08-19   64  	if (size > PAGE_SIZE)
b8a1520bda5b72 Flora Cui    2019-08-19   65  		out = __vmalloc(size, flags, PAGE_KERNEL);
b8a1520bda5b72 Flora Cui    2019-08-19   66  	else
b8a1520bda5b72 Flora Cui    2019-08-19   67  		out = kmalloc(size, flags);
b8a1520bda5b72 Flora Cui    2019-08-19   68  	return out;
b8a1520bda5b72 Flora Cui    2019-08-19   69  }
b8a1520bda5b72 Flora Cui    2019-08-19  @70  static inline void *kvzalloc(size_t size, gfp_t flags)
b8a1520bda5b72 Flora Cui    2019-08-19   71  {
b8a1520bda5b72 Flora Cui    2019-08-19   72  	return kvmalloc(size, flags | __GFP_ZERO);
b8a1520bda5b72 Flora Cui    2019-08-19   73  }
b8a1520bda5b72 Flora Cui    2019-08-19   74  #endif /* HAVE_KVZALLOC_KVMALLOC */
b4f7d254be169a Junwei Zhang 2016-12-23   75  
b8a1520bda5b72 Flora Cui    2019-08-19   76  #ifndef HAVE_KVFREE
b8a1520bda5b72 Flora Cui    2019-08-19   77  #ifdef HAVE_DRM_FREE_LARGE
b8a1520bda5b72 Flora Cui    2019-08-19   78  #define kvfree drm_free_large
b8a1520bda5b72 Flora Cui    2019-08-19   79  #else
b8a1520bda5b72 Flora Cui    2019-08-19  @80  static inline void kvfree(const void *addr)
b8a1520bda5b72 Flora Cui    2019-08-19   81  {
b8a1520bda5b72 Flora Cui    2019-08-19   82  	if (is_vmalloc_addr(addr))
b8a1520bda5b72 Flora Cui    2019-08-19   83  		vfree(addr);
b8a1520bda5b72 Flora Cui    2019-08-19   84  	else
b8a1520bda5b72 Flora Cui    2019-08-19   85  		kfree(addr);
b8a1520bda5b72 Flora Cui    2019-08-19   86  }
b8a1520bda5b72 Flora Cui    2019-08-19   87  #endif /* HAVE_DRM_FREE_LARGE */
b8a1520bda5b72 Flora Cui    2019-08-19   88  #endif /* HAVE_KVFREE */
b8a1520bda5b72 Flora Cui    2019-08-19   89  
b8a1520bda5b72 Flora Cui    2019-08-19   90  #ifndef HAVE_KVMALLOC_ARRAY
b8a1520bda5b72 Flora Cui    2019-08-19   91  #if defined(HAVE_DRM_MALLOC_AB) && defined(HAVE_DRM_CALLOC_LARGE)
b8a1520bda5b72 Flora Cui    2019-08-19   92  static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
b8a1520bda5b72 Flora Cui    2019-08-19   93  {
b8a1520bda5b72 Flora Cui    2019-08-19   94  	if (flags & __GFP_ZERO)
b8a1520bda5b72 Flora Cui    2019-08-19   95  		return drm_calloc_large(n, size);
b8a1520bda5b72 Flora Cui    2019-08-19   96  	else
b8a1520bda5b72 Flora Cui    2019-08-19   97  		return drm_malloc_ab(n, size);
b8a1520bda5b72 Flora Cui    2019-08-19   98  }
b8a1520bda5b72 Flora Cui    2019-08-19   99  #else
b8a1520bda5b72 Flora Cui    2019-08-19 @100  static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
b8a1520bda5b72 Flora Cui    2019-08-19  101  {
b8a1520bda5b72 Flora Cui    2019-08-19  102  	size_t bytes;
b8a1520bda5b72 Flora Cui    2019-08-19  103  
b8a1520bda5b72 Flora Cui    2019-08-19  104  	if (unlikely(check_mul_overflow(n, size, &bytes)))
b8a1520bda5b72 Flora Cui    2019-08-19  105  		return NULL;
b8a1520bda5b72 Flora Cui    2019-08-19  106  
b8a1520bda5b72 Flora Cui    2019-08-19  107  	return kvmalloc(bytes, flags);
b8a1520bda5b72 Flora Cui    2019-08-19  108  }
b8a1520bda5b72 Flora Cui    2019-08-19  109  #endif /* HAVE_DRM_MALLOC_AB && HAVE_DRM_CALLOC_LARGE */
b8a1520bda5b72 Flora Cui    2019-08-19  110  #endif /* HAVE_KVMALLOC_ARRAY */
b4f7d254be169a Junwei Zhang 2016-12-23  111  
b8a1520bda5b72 Flora Cui    2019-08-19  112  #ifndef HAVE_KVCALLOC
b8a1520bda5b72 Flora Cui    2019-08-19 @113  static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
b8a1520bda5b72 Flora Cui    2019-08-19  114  {
b8a1520bda5b72 Flora Cui    2019-08-19  115  	return kvmalloc_array(n, size, flags | __GFP_ZERO);
b8a1520bda5b72 Flora Cui    2019-08-19  116  }
b8a1520bda5b72 Flora Cui    2019-08-19  117  #endif /* HAVE_KVCALLOC */
b4f7d254be169a Junwei Zhang 2016-12-23  118  

:::::: The code at line 60 was first introduced by commit
:::::: b8a1520bda5b7226ae5b5a132e61d3a96231de0b drm/amdkcl: test whether memory alloc and free functions are available

:::::: TO: Flora Cui <flora.cui at amd.com>
:::::: CC: Flora Cui <flora.cui at amd.com>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 68191 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200111/c1abd3e8/attachment-0001.gz>


More information about the dri-devel mailing list