Re: [PATCH 2/7] RDMA/bnxt_re: Add 64bit doorbells for 57500 series

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 01, 2019 at 11:31:39AM +0800, kbuild test robot wrote:
> Hi Devesh,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on rdma/for-next]
> [also build test ERROR on v4.20 next-20181224]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Devesh-Sharma/Add-support-Broadcom-s-57500-series-of-adapters/20181231-151329
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
> config: arm-allmodconfig (attached as .config)
> compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.2.0 make.cross ARCH=arm 
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:49:0:
>    drivers/infiniband/hw/bnxt_re/qplib_rcfw.h: In function 'bnxt_qplib_ring_creq_db64':
> >> drivers/infiniband/hw/bnxt_re/qplib_rcfw.h:175:2: error: implicit declaration of function 'writeq'; did you mean 'writeb'? [-Werror=implicit-function-declaration]
>      writeq(*val, db);
>      ^~~~~~
>      writeb
>    cc1: some warnings being treated as errors
> 
> vim +175 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h
> 
>    147	
>    148	#define CREQ_CMP_VALID(hdr, raw_cons, cp_bit)			\
>    149		(!!((hdr)->v & CREQ_BASE_V) ==				\
>    150		   !((raw_cons) & (cp_bit)))
>    151	
>    152	#define CREQ_DB_KEY_CP			(0x2 << CMPL_DOORBELL_KEY_SFT)
>    153	#define CREQ_DB_IDX_VALID		CMPL_DOORBELL_IDX_VALID
>    154	#define CREQ_DB_IRQ_DIS			CMPL_DOORBELL_MASK
>    155	#define CREQ_DB_CP_FLAGS_REARM		(CREQ_DB_KEY_CP |	\
>    156						 CREQ_DB_IDX_VALID)
>    157	#define CREQ_DB_CP_FLAGS		(CREQ_DB_KEY_CP |	\
>    158						 CREQ_DB_IDX_VALID |	\
>    159						 CREQ_DB_IRQ_DIS)
>    160	
>    161	static inline void bnxt_qplib_ring_creq_db64(void __iomem *db, u32 index,
>    162						     u16 xid, bool arm)
>    163	{
>    164		struct dbc_dbc	hdr64 = { 0 };
>    165		u32 tmp = 0;
>    166		u64 *val;
>    167	
>    168		hdr64.index = cpu_to_le32(index & DBC_DBC_INDEX_MASK);
>    169		tmp = xid & DBC_DBC_XID_MASK;
>    170		tmp |= DBC_DBC_PATH_ROCE;
>    171		tmp |= arm ? DBC_DBC_TYPE_NQ_ARM : DBC_DBC_TYPE_NQ;
>    172		hdr64.type_path_xid = cpu_to_le32(tmp);
>    173		val = (u64 *)&hdr64.index;
>    174		wmb();
>  > 175		writeq(*val, db);

You can probably use 'depends on 64BIT' in the kconfig? This is what
qib does

Jaason




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux