Hi Flora, FYI, the error/warning still remains. tree: git://people.freedesktop.org/~agd5f/linux.git amd-19.50 head: 02692309efa6ad48d47894e40fcb3832ace49c4c commit: c53ae0e01db63d1b142681add947781668e3319c [2027/2687] drm/amdkcl: drop kcl_dma_fence_set_error config: i386-allyesconfig (attached as .config) compiler: gcc-7 (Debian 7.5.0-3) 7.5.0 reproduce: git checkout c53ae0e01db63d1b142681add947781668e3319c # 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@xxxxxxxxx> 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/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel