tree: git://people.freedesktop.org/~agd5f/linux.git drm-next-4.15-wip head: 92c7dfc70d8bd57e4ffae528418fb8a039ea26cb commit: 5d86b2c391965cbcb295e8fa795276977b2a416e [169/283] drm/amd: Closed hash table with low overhead (v2) config: mn10300-allmodconfig (attached as .config) compiler: am33_2.0-linux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 5d86b2c391965cbcb295e8fa795276977b2a416e # save the attached .config to linux build tree make.cross ARCH=mn10300 Note: the radeon-alex/drm-next-4.15-wip HEAD 92c7dfc70d8bd57e4ffae528418fb8a039ea26cb builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from include/linux/kernel.h:151:0, from include/asm-generic/bug.h:15, from arch/mn10300/include/asm/bug.h:35, from include/linux/bug.h:4, from drivers/gpu/drm/amd/lib/chash.c:26: drivers/gpu/drm/amd/lib/chash.c: In function '__chash_table_dump_stats': >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:113:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps, table->hits, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:113:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps, table->hits, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:114:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits * 1000, table->hits_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:114:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits * 1000, table->hits_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:123:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss_steps, table->miss, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:123:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss_steps, table->miss, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:124:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss * 1000, table->miss_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:124:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss * 1000, table->miss_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:133:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps + table->miss_steps, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:133:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps + table->miss_steps, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:135:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC((table->hits + table->miss) * 1000, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:135:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC((table->hits + table->miss) * 1000, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:145:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits + table->miss, table->relocs, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:145:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits + table->miss, table->relocs, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:147:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->reloc_dist, table->relocs, quot2, frac2, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu/drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu/drm/amd/lib/chash.c:147:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->reloc_dist, table->relocs, quot2, frac2, 1000); ^~~~~~~~ -- In file included from include/linux/kernel.h:151:0, from include/asm-generic/bug.h:15, from arch/mn10300/include/asm/bug.h:35, from include/linux/bug.h:4, from drivers/gpu//drm/amd/lib/chash.c:26: drivers/gpu//drm/amd/lib/chash.c: In function '__chash_table_dump_stats': >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:113:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps, table->hits, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:113:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps, table->hits, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:114:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits * 1000, table->hits_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:114:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits * 1000, table->hits_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:123:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss_steps, table->miss, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:123:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss_steps, table->miss, quot1, frac1, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:124:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss * 1000, table->miss_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:124:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->miss * 1000, table->miss_time_ns, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:133:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps + table->miss_steps, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:133:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits_steps + table->miss_steps, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:135:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC((table->hits + table->miss) * 1000, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:135:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC((table->hits + table->miss) * 1000, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:145:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits + table->miss, table->relocs, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:145:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->hits + table->miss, table->relocs, ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:52:12: error: incompatible types when assigning to type 'long long unsigned int' from type 'union <anonymous>' __quot.l = n; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:147:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->reloc_dist, table->relocs, quot2, frac2, 1000); ^~~~~~~~ >> arch/mn10300/include/asm/div64.h:66:5: error: incompatible types when assigning to type 'union <anonymous>' from type 'long long unsigned int' n = __quot.l; \ ^ drivers/gpu//drm/amd/lib/chash.c:84:12: note: in expansion of macro 'do_div' __rem = do_div(__quot, __denom); \ ^~~~~~ drivers/gpu//drm/amd/lib/chash.c:147:3: note: in expansion of macro 'DIV_FRAC' DIV_FRAC(table->reloc_dist, table->relocs, quot2, frac2, 1000); ^~~~~~~~ vim +52 arch/mn10300/include/asm/div64.h 5a4b65ab arch/mn10300/include/asm/div64.h Richard Henderson 2011-03-23 30 5a4b65ab arch/mn10300/include/asm/div64.h Richard Henderson 2011-03-23 31 /* b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 32 * divide n by base, leaving the result in n and returning the remainder b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 33 * - we can do this quite efficiently on the MN10300 by cascading the divides b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 34 * through the MDR register b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 35 */ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 36 #define do_div(n, base) \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 37 ({ \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 38 unsigned __rem = 0; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 39 if (sizeof(n) <= 4) { \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 40 asm("mov %1,mdr \n" \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 41 "divu %2,%0 \n" \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 42 "mov mdr,%1 \n" \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 43 : "+r"(n), "=d"(__rem) \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 44 : "r"(base), "1"(__rem) \ 5a4b65ab arch/mn10300/include/asm/div64.h Richard Henderson 2011-03-23 45 : CLOBBER_MDR_CC \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 46 ); \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 47 } else if (sizeof(n) <= 8) { \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 48 union { \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 49 unsigned long long l; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 50 u32 w[2]; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 51 } __quot; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 @52 __quot.l = n; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 53 asm("mov %0,mdr \n" /* MDR = 0 */ \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 54 "divu %3,%1 \n" \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 55 /* __quot.MSL = __div.MSL / base, */ \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 56 /* MDR = MDR:__div.MSL % base */ \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 57 "divu %3,%2 \n" \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 58 /* __quot.LSL = MDR:__div.LSL / base, */ \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 59 /* MDR = MDR:__div.LSL % base */ \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 60 "mov mdr,%0 \n" \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 61 : "=d"(__rem), "=r"(__quot.w[1]), "=r"(__quot.w[0]) \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 62 : "r"(base), "0"(__rem), "1"(__quot.w[1]), \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 63 "2"(__quot.w[0]) \ 5a4b65ab arch/mn10300/include/asm/div64.h Richard Henderson 2011-03-23 64 : CLOBBER_MDR_CC \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 65 ); \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 @66 n = __quot.l; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 67 } else { \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 68 ____unhandled_size_in_do_div___(); \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 69 } \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 70 __rem; \ b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 71 }) b920de1b include/asm-mn10300/div64.h David Howells 2008-02-08 72 :::::: The code at line 52 was first introduced by commit :::::: b920de1b77b72ca9432ac3f97edb26541e65e5dd mn10300: add the MN10300/AM33 architecture to the kernel :::::: TO: David Howells <dhowells@xxxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx> --- 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 dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel