On Thu, Jan 3, 2019 at 2:25 AM Jason Gunthorpe <jgg@xxxxxxxxxxxx> wrote: > > 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 > I take the reference, thanks for the pointer. > Jaason