tree:   git://people.freedesktop.org/~agd5f/linux.git amd-mainline-dkms-5.2
head:   b027ed8d9051470f4ed6bc071fcde172fe1fc595
commit: c53ae0e01db63d1b142681add947781668e3319c [2027/2647] drm/amdkcl: drop 
kcl_dma_fence_set_error
config: x86_64-randconfig-g002-201943 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        git checkout c53ae0e01db63d1b142681add947781668e3319c
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <[email protected]>

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/scheduler/backport/backport.h:5: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/kcl/kcl_fence.h:9:0,
                    from drivers/gpu/drm/scheduler/backport/backport.h:5,
                    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/scheduler/backport/backport.h:5: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/kcl/kcl_fence.h:9:0,
                    from drivers/gpu/drm/scheduler/backport/backport.h:5,
                    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/scheduler/backport/backport.h:5: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

vim +/dma_fence_set_error +129 include/kcl/kcl_fence.h

     3  
     4  #include <linux/version.h>
     5  #if !defined(HAVE_DMA_FENCE_DEFINED)
     6  #include <linux/fence.h>
     7  #include <kcl/kcl_fence_array.h>
     8  #else
   > 9  #include <linux/dma-fence.h>
    10  #include <linux/dma-fence-array.h>
    11  #endif
    12  
    13  #if !defined(HAVE_DMA_FENCE_DEFINED)
    14  #define dma_fence_cb fence_cb
    15  #define dma_fence_ops fence_ops
    16  #define dma_fence_array fence_array
    17  #define dma_fence fence
    18  #define DMA_FENCE_TRACE FENCE_TRACE
    19  #define DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT FENCE_FLAG_ENABLE_SIGNAL_BIT
    20  #define DMA_FENCE_FLAG_SIGNALED_BIT FENCE_FLAG_SIGNALED_BIT
    21  #define dma_fence_wait fence_wait
    22  #define dma_fence_get fence_get
    23  #define dma_fence_put fence_put
    24  #define dma_fence_is_signaled fence_is_signaled
    25  #define dma_fence_signal fence_signal
    26  #define dma_fence_signal_locked fence_signal_locked
    27  #define dma_fence_get_rcu fence_get_rcu
    28  #define dma_fence_array_create fence_array_create
    29  #define dma_fence_add_callback fence_add_callback
    30  #define dma_fence_remove_callback fence_remove_callback
    31  #define dma_fence_default_wait fence_default_wait
    32  #define dma_fence_enable_sw_signaling fence_enable_sw_signaling
    33  typedef struct fence kcl_fence_t;
    34  typedef struct fence_ops kcl_fence_ops_t;
    35  #endif
    36  
    37  #if !defined(HAVE_DMA_FENCE_DEFINED)
    38  extern struct fence * _kcl_fence_get_rcu_safe(struct fence * __rcu 
*fencep);
    39  extern u64 _kcl_fence_context_alloc(unsigned num);
    40  extern void _kcl_fence_init(struct fence *fence, const struct fence_ops 
*ops,
    41               spinlock_t *lock, u64 context, unsigned seqno);
    42  extern signed long _kcl_fence_wait_timeout(struct fence *fence, bool 
intr,
    43                                  signed long timeout);
    44  #endif
    45  
    46  /* commit v4.5-rc3-715-gb47bcb93bbf2
    47   * fall back to HAVE_DMA_FENCE_DEFINED check directly
    48   * as it's hard to detect the implementation in kernel
    49   */
    50  #if !defined(HAVE_DMA_FENCE_DEFINED)
    51  static inline bool dma_fence_is_later(struct dma_fence *f1, struct 
dma_fence *f2)
    52  {
    53          if (WARN_ON(f1->context != f2->context))
    54                  return false;
    55  
    56          return (int)(f1->seqno - f2->seqno) > 0;
    57  }
    58  #endif
    59  
    60  #if !defined(HAVE_DMA_FENCE_DEFINED)
    61  static inline u64 dma_fence_context_alloc(unsigned num)
    62  {
    63          return _kcl_fence_context_alloc(num);
    64  }
    65  
    66  static inline void
    67  dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
    68                 spinlock_t *lock, u64 context, unsigned seqno)
    69  {
    70          return _kcl_fence_init(fence, ops, lock, context, seqno);
    71  }
    72  #endif
    73  
    74  /* commit 796422f227ee(dma-fence: Allow wait_any_timeout for all 
fences) */
    75  #if DRM_VERSION_CODE < DRM_VERSION(4, 19, 0)
    76  signed long
    77  _kcl_fence_wait_any_timeout(struct dma_fence **fences, uint32_t count,
    78                             bool intr, signed long timeout, uint32_t 
*idx);
    79  #endif
    80  
    81  static inline signed long
    82  kcl_fence_wait_any_timeout(struct dma_fence **fences, uint32_t count,
    83                             bool intr, signed long timeout, uint32_t 
*idx)
    84  {
    85  #if DRM_VERSION_CODE < DRM_VERSION(4, 19, 0)
    86          return _kcl_fence_wait_any_timeout(fences, count, intr, 
timeout, idx);
    87  #else
    88          return dma_fence_wait_any_timeout(fences, count, intr, timeout, 
idx);
    89  #endif
    90  }
    91  
    92  #if DRM_VERSION_CODE < DRM_VERSION(4, 19, 0)
    93  signed long
    94  _kcl_fence_default_wait(struct dma_fence *fence, bool intr, signed long 
timeout);
    95  #endif
    96  static inline signed long
    97  kcl_fence_default_wait(struct dma_fence *fence, bool intr, signed long 
timeout)
    98  {
    99  #if DRM_VERSION_CODE < DRM_VERSION(4, 19, 0)
   100          return _kcl_fence_default_wait(fence, intr, timeout);
   101  #else
   102          return dma_fence_default_wait(fence, intr, timeout);
   103  #endif
   104  }
   105  
   106  #if !defined(HAVE_DMA_FENCE_DEFINED)
   107  static inline signed long
   108  dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long 
timeout)
   109  {
   110          return _kcl_fence_wait_timeout(fence, intr, timeout);
   111  }
   112  #endif
   113  
   114  #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
   115  extern struct fence * _kcl_fence_get_rcu_safe(struct fence * __rcu 
*fencep);
   116  #endif
   117  
   118  static inline struct fence *
   119  kcl_fence_get_rcu_safe(struct fence * __rcu *fencep)
   120  {
   121  #if !defined(HAVE_DMA_FENCE_DEFINED)
   122          return _kcl_fence_get_rcu_safe(fencep);
   123  #else
 > 124          return dma_fence_get_rcu_safe(fencep);
   125  #endif
   126  }
   127  
   128  #if !defined(HAVE_DMA_FENCE_SET_ERROR)
 > 129  static inline void dma_fence_set_error(struct dma_fence *fence,
   130                                         int error)
   131  {
   132          BUG_ON(test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags));
   133          BUG_ON(error >= 0 || error < -MAX_ERRNO);
   134  
 > 135          fence->status = error;
   136  }
   137  #endif
   138  

---
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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to