[radeon-alex:amd-staging-drm-next 1046/1053] drivers/gpu//drm/amd/lib/../include/linux/chash.h:286:50: error: '_BITOPS_LONG_SHIFT' undeclared

kbuild test robot fengguang.wu at intel.com
Tue Sep 19 05:42:45 UTC 2017


tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   dcae401d111324489c066aa57ed9c77b97b475f9
commit: 18c073719186a393b41715686cf95175c58919df [1046/1053] drm/amd: Closed hash table with low overhead
config: ia64-allyesconfig (attached as .config)
compiler: ia64-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 18c073719186a393b41715686cf95175c58919df
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All error/warnings (new ones prefixed by >>):

   In file included from drivers/gpu//drm/amd/lib/chash.c:30:0:
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_is_valid':
>> drivers/gpu//drm/amd/lib/../include/linux/chash.h:286:50: error: '_BITOPS_LONG_SHIFT' undeclared (first use in this function)
     return !!(iter.table->valid_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &
                                                     ^~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/amd/lib/../include/linux/chash.h:286:50: note: each undeclared identifier is reported only once for each function it appears in
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_is_empty':
   drivers/gpu//drm/amd/lib/../include/linux/chash.h:292:49: error: '_BITOPS_LONG_SHIFT' undeclared (first use in this function)
     return !(iter.table->occup_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &
                                                    ^~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_set_valid':
   drivers/gpu//drm/amd/lib/../include/linux/chash.h:299:40: error: '_BITOPS_LONG_SHIFT' undeclared (first use in this function)
     iter.table->valid_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] |= iter.mask;
                                           ^~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_set_invalid':
   drivers/gpu//drm/amd/lib/../include/linux/chash.h:305:40: error: '_BITOPS_LONG_SHIFT' undeclared (first use in this function)
     iter.table->valid_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &= ~iter.mask;
                                           ^~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_set_empty':
   drivers/gpu//drm/amd/lib/../include/linux/chash.h:310:40: error: '_BITOPS_LONG_SHIFT' undeclared (first use in this function)
     iter.table->occup_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &= ~iter.mask;
                                           ^~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_is_valid':
>> drivers/gpu//drm/amd/lib/../include/linux/chash.h:288:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/gpu//drm/amd/lib/../include/linux/chash.h: In function 'chash_iter_is_empty':
   drivers/gpu//drm/amd/lib/../include/linux/chash.h:294:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^

vim +/_BITOPS_LONG_SHIFT +286 drivers/gpu//drm/amd/lib/../include/linux/chash.h

   252	
   253	/**
   254	 * CHASH_ITER_INIT - Initialize a hash table iterator
   255	 * @tbl: Pointer to hash table to iterate over
   256	 * @s: Initial slot number
   257	 */
   258	#define CHASH_ITER_INIT(table, s) {			\
   259			table,					\
   260			1UL << ((s) & (BITS_PER_LONG - 1)),	\
   261			s					\
   262		}
   263	/**
   264	 * CHASH_ITER_SET - Set hash table iterator to new slot
   265	 * @iter: Iterator
   266	 * @s: Slot number
   267	 */
   268	#define CHASH_ITER_SET(iter, s)					\
   269		(iter).mask = 1UL << ((s) & (BITS_PER_LONG - 1)),	\
   270		(iter).slot = (s)
   271	/**
   272	 * CHASH_ITER_INC - Increment hash table iterator
   273	 * @table: Hash table to iterate over
   274	 *
   275	 * Wraps around at the end.
   276	 */
   277	#define CHASH_ITER_INC(iter) do {					\
   278			(iter).mask = (iter).mask << 1 |			\
   279				(iter).mask >> (BITS_PER_LONG - 1);		\
   280			(iter).slot = ((iter).slot + 1) & (iter).table->size_mask; \
   281		} while (0)
   282	
   283	static inline bool chash_iter_is_valid(const struct chash_iter iter)
   284	{
   285		BUG_ON((unsigned)iter.slot >= (1 << iter.table->bits));
 > 286		return !!(iter.table->valid_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &
   287			  iter.mask);
 > 288	}
   289	static inline bool chash_iter_is_empty(const struct chash_iter iter)
   290	{
   291		BUG_ON((unsigned)iter.slot >= (1 << iter.table->bits));
   292		return !(iter.table->occup_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &
   293			 iter.mask);
   294	}
   295	
   296	static inline void chash_iter_set_valid(const struct chash_iter iter)
   297	{
   298		BUG_ON((unsigned)iter.slot >= (1 << iter.table->bits));
   299		iter.table->valid_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] |= iter.mask;
   300		iter.table->occup_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] |= iter.mask;
   301	}
   302	static inline void chash_iter_set_invalid(const struct chash_iter iter)
   303	{
   304		BUG_ON((unsigned)iter.slot >= (1 << iter.table->bits));
 > 305		iter.table->valid_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &= ~iter.mask;
   306	}
   307	static inline void chash_iter_set_empty(const struct chash_iter iter)
   308	{
   309		BUG_ON((unsigned)iter.slot >= (1 << iter.table->bits));
   310		iter.table->occup_bitmap[iter.slot >> _BITOPS_LONG_SHIFT] &= ~iter.mask;
   311	}
   312	

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


More information about the dri-devel mailing list